visual studio 2019使用net core3.0创建winform无法使用窗体设计器
微软发布正式版net core3.0后,迫不及待的想体验一下用visual studio 2019在net core3.0下创建winform程序。创建方法很简单,和以前visual studio版本步骤差不多。
创建完成之后,尴尬的事情发生了,无法使用窗体设计器,双击Form1.cs文件不行,使用快捷键shift+F7也不行,在网上找了很久,发现好多人都遇到过这种问题,目前有两种解决方案
方案1 项目中创建多目标框架,包含net framework和net core。
打开csproj文件,将目标框架更改为net452和netcoreapp3.0。最终修改结果如下:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFrameworks>net452;netcoreapp3.0</TargetFrameworks> <UseWindowsForms>true</UseWindowsForms> <ApplicationIcon /> <StartupObject /> <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects> </PropertyGroup> </Project>
注意,必须将TargetFramework更改为复数TargetFrameworks。
更改完之后,系统会提示Application未包含“SetHighDpiMode”的定义”和“当前上下文中不存在名称“HighDpiMode”
这是由于net core3.0加载窗体程序时多了下面一行代码:
Application.SetHighDpiMode(HighDpiMode.SystemAware);
我们只需要用#If过滤一下即可:
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
#if netcoreapp3_0
Application.SetHighDpiMode(HighDpiMode.SystemAware);
#endif
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
方案2 添加winformsdesigner插件
创建winform core程序,点击扩展–>管理扩展,打开扩展管理窗体,选中联机,搜索winform designer。选择安装即可。
或者手动下载:winformsdesigner
参考地址:https://github.com/dotnet/winforms/tree/master/Documentation/designer-releases
添加完之后,期待已久的窗体设计器就可以出来了。

我目前使用的visual studio 2019的版本信息

到此这篇关于visual studio 2019使用net core3.0创建winform无法使用窗体设计器的文章就介绍到这了,更多相关vs2019创建winform内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
.Net Core3.0 WEB API中使用FluentValidation验证(批量注入)
这篇文章主要介绍了.Net Core3.0 WEB API中使用FluentValidation验证(批量注入),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-12-12
.Net Core自动化部署之利用docker版jenkins部署dotnetcore应用的方法
这篇文章主要给大家介绍了关于.Net Core自动化部署之利用docker版jenkins部署dotnetcore应用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2018-06-06
asp.net Repeater取得CheckBox选中的某行某个值
Repeater取得CheckBox选中的某行某个值的实现代码2008-07-07
ASP.NET SignaiR 实现消息的即时推送,并使用Push.js实现通知的示例代码
ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。有兴趣的可以了解一下。2017-01-01


最新评论