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

VS2019导入窗体/控件后Designer与Resx无法正常显示求助

问题描述

在Visual Studio 2019中创建新项目后,通过「添加现有项」导入了其他项目的若干User Control和Form。打开这些控件或窗体时,Designer显示空白,但右键跳转代码能正常定位到对应位置。需要用Designer修改控件内容,且已确认命名空间正确,求解决办法。

编辑#1
我检查了项目文件,看起来没问题,但可能有遗漏:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{90E9229F-A341-48A6-9951-3373A87B5D19}</ProjectGuid>
    <OutputType>WinExe</OutputType>
    <RootNamespace>SSS.SuburbanRemoteOperations</RootNamespace>
    <AssemblyName>RemoteOps</AssemblyName>
    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <Deterministic>true</Deterministic>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup>
    <StartupObject>SSS.SuburbanRemoteOperations.Program</StartupObject>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Deployment" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="AppStyle.cs" />
    <Compile Include="BaseForm.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="BaseForm.Designer.cs" />
    <Compile Include="Controls\CustomerInquiryBannerControl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="Controls\CustomerInquiryBannerControl.Designer.cs" />
    <Compile Include="Controls\CustomerInquiryControl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="Controls\CustomerInquiryControl.Designer.cs" />
    <Compile Include="Controls\FooterControl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="Controls\FooterControl.Designer.cs" />
    <Compile Include="Controls\GasCheck\GasCheckCommentsControl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="Controls\GasCheck\GasCheckCommentsControl.Designer.cs" />
    <Compile Include="Controls\GasCheck\GasCheckMenuControl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="Controls\GasCheck\GasCheckMenuControl.Designer.cs" />
    <Compile Include="Controls\GasCheck\GasCheck_TestControl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="Controls\GasCheck\GasCheck_TestControl.Designer.cs" />
    <Compile Include="Controls\HeaderControl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="Controls\HeaderControl.Designer.cs" />
    <Compile Include="Controls\MainControl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="Controls\MainControl.Designer.cs" />
    <Compile Include="Controls\SettingsControl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="Controls\SettingsControl.Designer.cs" />
    <Compile Include="CurrentCustomer.cs" />
    <Compile Include="Forms\RequestSupport.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="Forms\RequestSupport.Designer.cs" />
    <Compile Include="Global.cs" />
    <Compile Include="MainMenu.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="MainMenu.Designer.cs" />
    <Compile Include="Miscellaneous\Logging.cs" />
    <Compile Include="Program.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <EmbeddedResource Include="BaseForm.resx" />
    <EmbeddedResource Include="Controls\CustomerInquiryBannerControl.resx" />
    <EmbeddedResource Include="Controls\CustomerInquiryControl.resx" />
    <EmbeddedResource Include="Controls\FooterControl.resx" />
    <EmbeddedResource Include="Controls\GasCheck\GasCheckCommentsControl.resx" />
    <EmbeddedResource Include="Controls\GasCheck\GasCheckMenuControl.resx" />
    <EmbeddedResource Include="Controls\GasCheck\GasCheck_TestControl.resx" />
    <EmbeddedResource Include="Controls\HeaderControl.resx" />
    <EmbeddedResource Include="Controls\MainControl.resx" />
    <EmbeddedResource Include="Controls\SettingsControl.resx" />
    <EmbeddedResource Include="Forms\RequestSupport.resx" />
    <EmbeddedResource Include="MainMenu.resx" />
    <EmbeddedResource Include="Properties\Resources.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
      <SubType>Designer</SubType>
    </EmbeddedResource>
    <Compile Include="Properties\Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DependentUpon>Resources.resx</DependentUpon>
      <DesignTime>True</DesignTime>
    </Compile>
    <None Include="Properties\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    </None>
    <Compile Include="Properties\Settings.Designer.cs">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <None Include="App.config" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Data\" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
解决建议
  • 补全Designer文件的依赖关联:从项目文件看,所有.Designer.cs文件都缺少<DependentUpon>节点,比如BaseForm.Designer.cs应该修改为:
    <Compile Include="BaseForm.Designer.cs">
      <DependentUpon>BaseForm.cs</DependentUpon>
    </Compile>
    
    所有控件和窗体的Designer文件都需要添加这个关联,让Visual Studio识别主文件和Designer文件的关系。
  • 清理重建项目:依次执行「生成」→「清理解决方案」、「生成解决方案」,然后重启Designer尝试打开。
  • 检查Designer代码:打开.Designer.cs文件,确认InitializeComponent()方法存在且代码完整,没有语法错误或缺失控件初始化逻辑。
  • 清除Designer缓存:关闭Visual Studio,删除项目根目录下的.vs隐藏文件夹,重新打开项目。
  • 验证基类完整性:如果导入的控件/窗体继承自自定义基类(比如BaseForm),确保基类代码没有在构造函数中加入运行时专属逻辑,且基类已正确编译。
  • 检查资源文件:确认每个控件的.resx文件命名和位置正确,没有损坏,且和主文件、Designer文件一一对应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 02:54:22