【问题标题】:Using System.Windows.Forms classes in a .net core 3.0 preview9 project在 .net core 3.0 preview9 项目中使用 System.Windows.Forms 类
【发布时间】:2019-09-12 13:48:43
【问题描述】:

我们如何在 .NET Core 3.0 WPF 项目中使用像 Screen 这样的类?他们有 .NET Core 3.0 的文档页面,所以我认为它应该可以工作。

VS和编译器告诉我System.Windows中不存在命名空间Forms,所以感觉类不在3.0 sdk中。

nuget 上没有 System.Windows.Forms 包,并且“添加引用”对话框只有一个 System_Windows_Forms 对可用的 .net 框架的引用,这听起来非常错误:

我错过了什么吗?

【问题讨论】:

标签: c# winforms .net-core .net-core-3.0


【解决方案1】:

您应该在您的 csproj 中添加 <UseWindowsForms>true</UseWindowsForms>

<PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWpf>true</UseWpf>
    <UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>

【讨论】:

  • 但我正在尝试在 .Net Core 类库项目中覆盖一些 Windows 控件,例如文本框。这些标签在这种情况下不起作用。如何访问 .Net Core 中的 System.Windows.Forms 命名空间?我必须说这有点令人沮丧。
  • 你的目标是 .net core 3.x 吗?
  • 是的。我发现我需要使用 WPF/Windows 用户控件库模板创建一个新项目 - 然后使用此处显示的 标记。该模板将 Microsoft.WindowsDesktop.App 框架添加到项目中。有没有办法将框架添加到现有项目中?
  • @MarkBonafe 看来您必须将项目文件顶部的 &lt;Project Sdk="Microsoft.NET.Sdk"&gt; 更改为 &lt;Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"&gt;
  • 没错,马克。我完全错了。添加到属性确实会神奇地添加框架。不是这种风格的忠实粉丝,但它确实有效。
猜你喜欢
  • 2022-01-17
  • 2020-03-09
  • 2013-08-30
  • 2019-06-11
  • 2020-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多