在 win 表单项目文件中将 UseWPF 设置为 true 无法识别 ApplicationConfiguration bootstrap 代码
Setting UseWPF to true in a win forms proj file fails to recognize ApplicationConfiguration bootstrap code
在面向 .NET 6 的 WinForms 桌面应用程序中,proj 文件中的 UseWindowsForms 元素设置为 True
,并生成 bootstrap ApplicationConfiguration.Initialize();
并且从启动文件调用 Program
.
现在我想通过将 UseWPF 设置为 True
来启用 WPF。当我这样做并构建时,我在输出日志
中收到以下错误
Program.cs(11,13,11,37): error CS0103: The name 'ApplicationConfiguration' does not exist in the current context.
如果我注释掉应用程序构建的那一行,我可以从 WinForm 打开 WPF window。但是 win 表单 windows 看起来不同,因为它们没有正确初始化所以我想继续调用 ApplicationConfiguration.Initialize();
知道如何将 UseWPF 设置为 True
并仍然使用 ApplicationConfiguration.Initialize();
吗?谢谢
复制
- 在 VS 2022 中针对 .NET 6 创建一个新的 Windows Forms 项目。
- 转到项目属性并选中
Enable WPF for this project
复选框
- 向项目添加 WPFwindow
- 建造
您现在将获得
Program.cs(11,13,11,37): error CS0103: The name 'ApplicationConfiguration' does not exist in the current context.
在输出日志中。 (错误列表很混乱,可能什么也没有显示)
项目文件
按照上述步骤,proj 文件如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<UseWPF>True</UseWPF>
</PropertyGroup>
</Project>
我遇到了同样的问题,我做了两件事:
- 我将此问题发布在 GitHub WinForms 问题上,它已被设置为 .NET
7 里程碑 Link -> Github WinForm Issue
- 我在 Winforms (NET 6) 中的 EnableWPF 解决方法代码是编辑 Program.CS 文件以
下面:
在 Program.CS 中注释下面的代码 -(以后取消注释并检查 .NET 修复或 VS IDE 更新是否修复了该问题)
//ApplicationConfiguration.Initialize();
然后在评论下方添加如下代码
Application.SetHighDpiMode(HighDpiMode.SystemAware);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
在面向 .NET 6 的 WinForms 桌面应用程序中,proj 文件中的 UseWindowsForms 元素设置为 True
,并生成 bootstrap ApplicationConfiguration.Initialize();
并且从启动文件调用 Program
.
现在我想通过将 UseWPF 设置为 True
来启用 WPF。当我这样做并构建时,我在输出日志
Program.cs(11,13,11,37): error CS0103: The name 'ApplicationConfiguration' does not exist in the current context.
如果我注释掉应用程序构建的那一行,我可以从 WinForm 打开 WPF window。但是 win 表单 windows 看起来不同,因为它们没有正确初始化所以我想继续调用 ApplicationConfiguration.Initialize();
知道如何将 UseWPF 设置为 True
并仍然使用 ApplicationConfiguration.Initialize();
吗?谢谢
复制
- 在 VS 2022 中针对 .NET 6 创建一个新的 Windows Forms 项目。
- 转到项目属性并选中
Enable WPF for this project
复选框 - 向项目添加 WPFwindow
- 建造
您现在将获得
Program.cs(11,13,11,37): error CS0103: The name 'ApplicationConfiguration' does not exist in the current context.
在输出日志中。 (错误列表很混乱,可能什么也没有显示)
项目文件
按照上述步骤,proj 文件如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<UseWPF>True</UseWPF>
</PropertyGroup>
</Project>
我遇到了同样的问题,我做了两件事:
- 我将此问题发布在 GitHub WinForms 问题上,它已被设置为 .NET 7 里程碑 Link -> Github WinForm Issue
- 我在 Winforms (NET 6) 中的 EnableWPF 解决方法代码是编辑 Program.CS 文件以 下面:
在 Program.CS 中注释下面的代码 -(以后取消注释并检查 .NET 修复或 VS IDE 更新是否修复了该问题)
//ApplicationConfiguration.Initialize();
然后在评论下方添加如下代码
Application.SetHighDpiMode(HighDpiMode.SystemAware);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());