我已 checkout 使用SDK样式csproj文件的现有WinForms,Visual Studio未将该窗体检测为可设计的窗体。因此,无法使用WinForms设计器。
我也可以通过创建一个新的net6 WinForms项目,然后删除包含有关子类型信息的csproj.user文件来重现此问题。在阅读了以前的Visual Studio版本中的类似错误后,应该会自动检测到窗体并将其添加到csproj.user文件中。但是,我似乎没有遇到这种情况。
Visual Studio版本:17.4.4
茨普罗日
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>
2条答案
按热度按时间v2g6jxz61#
csproj文件可能缺少WinForms设计器正常工作所必需的某些引用或元数据。您可以尝试将下列行添加到csproj文件中,以指定窗体文件的属性并包括WinForms设计器目标:
将Form1.cs和Form1.Designer.cs替换为实际窗体文件的名称。
如果这样做不起作用,您可以尝试在Visual Studio中使用WinForms模板重新创建项目,以确保包含所有必需的引用和元数据。然后,将现有源代码复制到新项目中。
bfrts1fy2#
经过进一步测试并与Visual Studio支持部门联系后,我发现此问题与“在单独进程中运行代码分析”设置有关。如果禁用此设置,Visual Studio将不会自行检测窗体。启用此设置后,一切正常。