c# - 在 .NET Core 类库中使用 Windows 窗体 - .NET Core 控件库

标签 c# winforms .net-core

我正在尝试创建一个引用 .net core 3 版本的 winform 的 .net core 3 类库(因此这个程序集本身可以被 .net core 3 WinForm 程序集引用)。

一个新的 .net 核心 WinForm 项目引用了 Microsoft.WindowsDesktop.App.WindowsForms,但是我找不到任何具有该名称的 nuget 包。

引用.net core 3 winform需要做什么?

最佳答案

Update: In later versions of VS 2019 (I tried Version 16.8.2) there is a project template for Windows Forms Control Library for .NET Core.

当前 Windows Forms .NET Core处于预览模式,我不知道 VS 2019 16.2.2 中 .NET Core 中 Windows 窗体控件库的任何官方 Nuget 包或项目模板。

但是要创建一个Windows 窗体控件库,您可以使用以下指令:

  1. 添加类库 (.NET Core) 类型的新项目
  2. 项目创建后,右键单击项目文件并选择编辑项目文件
  3. 将项目 SDK 更改为 <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  4. 通过添加 <UseWindowsForms>true</UseWindowsForms> 将 Windows 窗体指定为 UI 技术.

现在项目文件应该是这样的:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>Library</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
  </PropertyGroup>
</Project>

现在您可以添加 Windows 窗体元素,例如 FormUserControl到这个项目并毫无问题地构建项目。

关于c# - 在 .NET Core 类库中使用 Windows 窗体 - .NET Core 控件库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57509951/

相关文章:

c# - 如何处理T4字符串模板?

c# - 从 C# 调用 C++/CLI(不带 out 参数)

java - 在 Java 中处理重复的正则表达式组名称(C# 翻译)

.net - 免费语法突出显示 .NET 编辑器

c# - Socket.SetSocketOption 在 Mac OS 和 Linux 上抛出无效参数异常,但在 Windows 上工作正常

c# - 在 C# 中,我可以从方法而不是 lambda 创建表达式树对象吗?

c# - 如何在简单的油漆应用中清除面板

c# - 外部化 WinForms 应用程序的翻译?

c# - 正常关闭和当前正在处理的请求

c# - 窗口最大化时图像被复制