C# VS2019 和VS2022 winform 资源 设计器

我在VS2022 的在C# WinForms项目(.NET Framework 4.7.2)创建了Resources.zh-CN.resx  我要深究这个问题。 

 

我先在VS2019里面搞了一波,项目的.csproj 里面关于资源的代码如下:

   <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>
    </Compile>
      
    <EmbeddedResource Include="Properties\Resources.zh-CN.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.zh-CN.Designer.cs</LastGenOutput>
    </EmbeddedResource>
    <Compile Include="Properties\Resources.zh-CN.Designer.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.zh-CN.resx</DependentUpon>
    </Compile>

AI给的解释:

EmbeddedResource: 表示将Properties/Resources.resx文件作为嵌入式资源嵌入到程序集中。

Generator: 使用ResXFileCodeGenerator工具自动生成对应的C#代码文件(Resources.Designer.cs)。

LastGenOutput: 指定生成的代码文件名。

SubType: 标记为Designer,表示这是设计时资源文件,IDE会将其归类到“设计器”类别。

 

Compile: 将Resources.Designer.cs包含在编译过程中。

AutoGen: 表示此文件是自动生成的,开发者不应手动修改。

DependentUpon: 在IDE中,此文件会嵌套在Resources.resx下显示,保持项目结构清晰。

Include: 本地化资源文件Resources.zh-CN.resx,遵循命名约定{基名}.{文化代码}.resx(如zh-CN表示中文简体)。

Generator: 同样生成对应的代码文件Resources.zh-CN.Designer.cs。

DesignTime: 标记此文件在设计时(如Visual Studio设计器)可用,确保本地化资源在设计界面中正确加载。

其他属性与主资源生成的代码文件类似。

**********************


资源嵌入: 所有.resx文件会被编译为嵌入式资源(最终在程序集的Resources目录中)。

强类型访问: 通过生成的Resources.Designer.cs,可以用Properties.Resources.ResourceName直接访问资源。

本地化支持: 不同语言的资源文件(如zh-CN)在运行时根据系统文化自动加载。

IDE集成: 依赖关系(DependentUpon)和子类型(SubType)优化了项目文件在IDE中的显示方式。

补充说明
ResXFileCodeGenerator: 生成强类型资源类,避免硬编码字符串。

文化特定资源: 若系统区域设置为zh-CN,会自动加载Resources.zh-CN.resx,未找到则回退到默认Resources.resx。

设计时支持: DesignTime=True确保设计器(如WinForms窗体设计器)能预览本地化文本。

**

以上是VS2019 的, 是正常的, 两个资源都可以用设计器打开

 

posted @ 2025-05-15 09:18  wenluderen  阅读(146)  评论(6)    收藏  举报