You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2019运行.NET Framework4.7.2 SDK项目时控件/表单缺图标和视图设计器选项

问题总结

仅当csproj.user文件存在时,表单和控件才能在设计器中打开。

问题详情

有2个均继承自同一基控件的控件,但其中一个在解决方案资源管理器中缺少控件图标:
缺少图标

显示正常的控件源码开头如下:

public partial class UniTabMaterialsControl : UnitabBaseControl
{
    public UniTabMaterialsControl()
    {
        InitializeComponent();
    }

显示异常的控件源码开头如下:

public partial class UniTabMaterialsControl : UnitabBaseControl
{
     
    public UniTabMaterialsControl()
    {
        InitializeComponent();
    }

基控件类代码如下:

public class UnitabBaseControl : UserControl
{
}

已尝试关闭并重新打开Visual Studio。

更新1

新增了一个同样设置为继承UnitabBaseControl的用户控件,问题表现恢复了正常。之后删除了这个新增控件,正常表现依然保持。
Git显示UnitabBaseControl.cs存在变更,但除了UserControl文本的颜色外,看不出其他改动。
基类颜色变更
之后重新克隆了整个解决方案,这次所有继承自UnitabBaseControl的控件都出现了异常表现。

更新2

现在表单也出现了相同问题。
表单未显示正确图标

Form1代码如下:

using System.Windows.Forms;

namespace SBD.VivSnap.UI
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}

另一个表单Form2代码如下:

using System.Windows.Forms;

namespace SBD.VivSnap.UI
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
    }
}

更新3

之前遗漏说明,项目是被启动项目引用的类库项目。在启动项目中删除并重新添加类库项目引用后,所有表单和控件都正常显示了。Git中找不到任何改动可以说明解决方案为何生效。
之后在主项目中也发现了这个问题。
主项目中出现问题

更新4

后来发现项目是SDK风格格式,尽管运行的是.NET Framework 4.7.2,推测这可能和问题有关。
项目头配置为:Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"
将代码检出到运行VS2019 16.1.4的其他设备上可以正常构建,本地使用的是16.11.4版本。

更新5

已升级到VS2019 16.11.5版本,重新克隆后问题依旧存在。

更新6

项目文件内容如下:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <TargetFramework>net472</TargetFramework>
    <OutputType>WinExe</OutputType>
    <AssemblyName>Main</AssemblyName>
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
    <RestorePackages>true</RestorePackages>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <UseWindowsForms>true</UseWindowsForms>
  </PropertyGroup>
  <PropertyGroup>
    <StartupObject>SBD.VivSnap.Main.Program</StartupObject>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
    <PackageReference Include="Microsoft.Data.SqlClient">
      <Version>2.0.1</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore">
      <Version>3.1.12</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer">
      <Version>3.1.12</Version>
    </PackageReference>
    <PackageReference Include="NuGet.Build.Tasks.Pack" Version="5.7.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
    <PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\SnapInUI\SBD.VivSnap.UI.csproj" />
  </ItemGroup>
  <ItemGroup>
    <Compile Update="Properties\Settings.Designer.cs">
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <None Update="Properties\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    </None>
  </ItemGroup>
</Project>

csproj.user文件内容见回答。


内容的提问来源于stack exchange,提问作者Kirsten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:27:02