通州网站建设站开发评价,游戏推广是做什么的,企业邮箱登录入口126,怎么做代理网站网上说法大多都是直接添加对.Net Framework框架的引用#xff0c;但是这种方法打包很不友好。于是开始了网络搜索#xff0c;翻到了微软的文档#xff0c;才找到直接引用 System.Windows.Froms 程序集的方法。还隐藏的很深#xff0c;地址#xff1a;Upgrade a Windows Fo…网上说法大多都是直接添加对.Net Framework框架的引用但是这种方法打包很不友好。于是开始了网络搜索翻到了微软的文档才找到直接引用 System.Windows.Froms 程序集的方法。还隐藏的很深地址Upgrade a Windows Forms app to .NET 7 - Windows Forms .NET | Microsoft Learn 很明显没有这个System.Windows.Forms程序集要求 .Net Core 版本 3.0其实只要修改项目的csproj文件就好了 可以使用记事本或在项目上直接左键双击 初始化文件内容大致如下 修改第一行的SDK注意多的这个WindowsDesktop
Project SdkMicrosoft.NET.Sdk.WindowsDesktop
修改PropertyGroup
PropertyGroup TargetFrameworknetcoreapp3.1/TargetFramework OutputTypeLibrary/OutputType UseWindowsFormstrue/UseWindowsForms /PropertyGroup
在.NET Core 3.1中使用WPF或Winforms的示例需要添加UseWPF和UseWindowsForms标记
UseWPFtrue/UseWPF UseWindowsFormstrue/UseWindowsForms
修改完成之后代码显示即正常了 生成项目也是成功的 如果使用net6.0的话可以直接写 TargetFrameworknet6.0-windows/TargetFramework 即可。
针对.NET Core 3它在Windows上没有WinForms但是如果您需要在Linux上使用WinForms进行编译则仍然有效因为.NET Core WinForms仅在Windows上运行。
混合框架当然是解决问题的一种方法-但是为什么要使用.NET Core
但是您可以做的是将System.Windows.Forms的单声道实现移植到NetStandard。 如这里https://github.com/ststeiger/System.CoreFX.Forms
希望本文对你有帮助。