(解决)vs中生成Resources.resx与Resources.Designer.cs生成不一致?

在VisualStudio2022中创建项目时,添加Resources.resx后通常会自动生成Resources.Designer.cs。遇到资源文件编辑但不自动同步的问题时,需删除并手动设置自定义工具为PublicResXFileCodeGenerator,然后运行自定义工具以重新生成,确保所有键信息被包含。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在visual studio2022中,新建项目,正常情况下,在Assets文件下添加Resources.resx会自动生成Resources.Designer.cs文件。

出现问题:在Resources.resx中编辑资源信息,在Resources.Designer.cs中不进行同步生成(上述截图显示,只生成TextBb,不生成aaa等信息)。

解决方法:

删除自动生成的Resource.Designer.cs,然后在点击Resources.resx查询属性,确保自定义工具是“PublicResXFileCodeGenerator”,然后右键Resources.resx,选择“运行自定义工具”,重新生成,最终生成的Designer.cs文件中已经显示输入的键信息。

.NET Core项目中添加资源文件(.resx)可以通过以下步骤实现: 1. **创建资源文件**: - 在解决方案资源管理器中,右键点击你要添加资源文件的文件夹。 - 选择“添加” -> “新建项”。 - 在弹出的对话框中选择“资源文件”,然后命名文件(例如:`Resources.resx`),点击“添加”。 2. **添加资源**: - 打开新创建的资源文件,你将看到一个表格界面。 - 在表格中添加你的资源项,包括名称、值和注释。 3. **访问资源**: - 在代码中,你可以通过资源类的属性来访问资源。例如,如果你有一个名为 `Resources.resx` 的资源文件,生成的类名将是 `Resources`。 - 例如: ```csharp using System; using System.Globalization; using System.Threading; using System.Windows.Forms; namespace YourNamespace { public class YourClass { public void YourMethod() { // 设置当前线程的文化信息 Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); // 访问资源文件中的资源 string message = Resources.YourResourceName; MessageBox.Show(message); } } } ``` 4. **多语言支持**: - 为同的语言创建同的资源文件。例如,为英语创建 `Resources.en-US.resx`,为中文创建 `Resources.zh-CN.resx`。 - 在这些资源文件中,添加相同的资源名称,但同的值。 5. **配置资源文件**: - 在 `.csproj` 文件中,确保资源文件被正确包含。例如: ```xml <ItemGroup> <EmbeddedResource Include="Resources.resx"> <Generator>ResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.cs</LastGenOutput> </EmbeddedResource> <Compile Update="Resources.Designer.cs"> <DesignTime>True</DesignTime> <AutoGen>True</AutoGen> <DependentUpon>Resources.resx</DependentUpon> </Compile> </ItemGroup> ``` 通过以上步骤,你就可以在.NET Core项目中成功添加并使用资源文件(.resx)。这种做法仅可以帮助你管理应用程序中的字符串和其他资源,还可以方便地进行多语言支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王柏龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值