【问题标题】:Activate missing Winforms controls in .Net Core 3.1 [closed]在.Net Core 3.1中激活缺少的Winforms控件[关闭]
【发布时间】:2020-05-19 02:04:48
【问题描述】:

我将我的 winforms .Net Framework 应用程序迁移到 .net Core 3.1,但工具箱中缺少一些控件,例如 DataGridView。

有没有办法激活那些缺少的控件,因为 Microsoft 打算稍后支持它们。

【问题讨论】:

  • 这是一个问题吗?还是错误地将答案发布为问题?如果这是解决问题的方法,您可能想问一个问题来解释问题。然后发布您自己问题的答案。
  • 很抱歉迟到了才添加另一个通知。
  • 特别是,您应该检查this question 以查看适用的解决方案是否还不够好。我的问题是你的修改会做什么,它会生成 .NET 兼容的核心还是强制设计器支持会产生问题?
  • 我投票决定关闭这篇文章,因为这不是一个问题。
  • 不用投票,我就删了..只是想分享信息,不注意常规程序。

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


【解决方案1】:

我们知道带有 .Net Core 3.1 的 Microsoft Visual Studio Preview 2 缺少一些 Winforms 控件,例如 DataGridView 等。 Microsoft 计划很快支持缺少的控件。

这个简单的技巧可以轻松激活所有缺少的控件来启动你的 Winforms .Net Core 3.1

在您执行这些步骤之前,只需知道这仅确认用于测试,还没有用于生产。一 确定最终生产申请,我会更新帖子。

.Net Framework 4.8 和 .net Core 3.1 为我确认了此解决方案。

有一些步骤如下: 1- 创建您的 winofrms .Net Core 项目。 2- 按 project_name.csproj 并更改:

 netcoreapp3.1

到这个新的:

 net48;netcoreapp3.1

3- 然后打开 Program.cs 并对此进行评论

Application.SetHighDpiMode(HighDpiMode.SystemAware);

变成这样:

//Application.SetHighDpiMode(HighDpiMode.SystemAware);

此解决方案将添加所有控件。只需关闭解决方案并重新打开。

4- 完成应用程序后,只需将所有内容再次更改为默认值,如下所示:

按下 project_name.csproj 并更改:

 netcoreapp3.1

对于 program.cs 取消注释,即使在我回滚到默认值后,应用程序也会对这一行给出错误,所以我保留它的注释

感谢基尔桑

https://devblogs.microsoft.com/dotnet/updates-to-net-core-windows-forms-designer-in-visual-studio-16-5-preview-1/#comment-4562

这不是一个问题,这是一个帮助帖子。因此,请无需提供答案。非常感谢您的 cmets。

【讨论】:

  • 这是一个帮助帖子 → stackoverflow 不是这样工作的。对于有用的帖子,您需要针对特定​​问题提出问题,然后使用您的有用的帖子回答问题。
  • 请使用您问题上的编辑链接添加更多信息。 “发布答案”按钮应仅用于问题的完整答案。
  • net48 添加到TargetFrameworks 就足够了。但是删除net48 也会从工具箱中删除该按钮。读者请注意TargetFrameworks 中的尾随S
  • 这对我不起作用,它不会打开设计器,它会显示调用堆栈错误
  • 在 VS 2019 Ver 16.6.5 中,我能够通过删除以下文件中提到的文件来恢复缺失的控件(DataGridView 除外):developercommunity.visualstudio.com/cmets/1045118/view.html
猜你喜欢
  • 2020-07-26
  • 2021-07-09
  • 2020-07-11
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多