visual studio 2019使用net core3.0创建winform无法使用窗体设计器

 更新时间:2020年03月17日 09:26:45   作者:sgmcumt  
这篇文章主要介绍了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验证(批量注入)

    这篇文章主要介绍了.Net Core3.0 WEB API中使用FluentValidation验证(批量注入),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • .Net Core自动化部署之利用docker版jenkins部署dotnetcore应用的方法

    .Net Core自动化部署之利用docker版jenkins部署dotnetcore应用的方法

    这篇文章主要给大家介绍了关于.Net Core自动化部署之利用docker版jenkins部署dotnetcore应用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • ASP.NET使用My97DatePicker日期控件实例

    ASP.NET使用My97DatePicker日期控件实例

    这篇文章主要为大家详细介绍了ASP.NET使用My97DatePicker日期控件实例,如何使用My97DatePicker日期控件,本文为大家介绍,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • asp.net Repeater取得CheckBox选中的某行某个值

    asp.net Repeater取得CheckBox选中的某行某个值

    Repeater取得CheckBox选中的某行某个值的实现代码
    2008-07-07
  • ASP.NET SignaiR 实现消息的即时推送,并使用Push.js实现通知的示例代码

    ASP.NET SignaiR 实现消息的即时推送,并使用Push.js实现通知的示例代码

    ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。有兴趣的可以了解一下。
    2017-01-01
  • Json数据转换list对象实现思路及代码

    Json数据转换list对象实现思路及代码

    本文为大家详细介绍下Json数据转换list对象的具体实现,感兴趣的朋友可以参考下哈,希望对你有所帮助
    2013-04-04
  • asp.net中通过ALinq让Mysql操作变得如此简单

    asp.net中通过ALinq让Mysql操作变得如此简单

    当大家已经习惯了使用.net 去操作SQL Server,有多少人曾经尝试过使用.net 去操作Mysql数据库!在.net 的光环下,Mysql是显得如此微不足道!但是Mysql的开源又是如此具有诱惑。
    2011-07-07
  • .NET中如何将文本文件的内容存储到DataSet

    .NET中如何将文本文件的内容存储到DataSet

    大家在项目中比较多的会对文件进行操作,例如文件的上传下载,文件的压缩和解压等IO操作。而在.NET项目中较多的会使用DataSet,DataTable进行数据的缓存。每一个DataSet都是一个或多个DataTable对象的集合,本文主要介绍的是如何将文本文件的内容存储到DataSet里去。
    2016-12-12
  • ASP.NET 5升级后如何删除旧版本的DNX

    ASP.NET 5升级后如何删除旧版本的DNX

    这篇文章主要介绍了ASP.NET 5升级后如何删除旧版本的DNX,其实就是简单的四步走,就能轻松删除旧版本的DNX,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • ASP.NET使用Global.asax的方法

    ASP.NET使用Global.asax的方法

    Global.asax是ASP.NET Web应用程序的全局文件,它包含了应用程序级别的事件处理程序,允许开发人员在应用程序的生命周期中执行特定的逻辑,本文介绍了如何使用Global.asax文件来增强ASP.NET Web应用程序的功能,感兴趣的朋友一起看看吧
    2024-03-03

最新评论