在官方文件中,我找不到关于.Designer.cs
个文件与.resx
个文件如何工作的太多信息,搜索这种情况也没有得到任何有用的信息.
我目前正在进行的项目需要支持多种语言.因此,它有本地化文件:
- Localization.resx
- Localization.en.resx
- Validation.resx
- Validation.en.resx
Note: English isn't the default language.个
我注意到,除了.resx
个文件外,我们还有大约Designer.cs
个文件.具体地说,我们有以下几项:
- Localization.Designer.cs
- Localization.en.Designer.cs
- Validation.Designer.cs
由于某些原因,Validation.en.resx
没有对应的.en.Designer.cs
文件.
如果我们对.en.resx
文件进行修改,则不会为其生成设计器文件.不过,这些变化仍然有效.在我们的网站上,将文化设置为英语,展示了英语的价值观.看看我们的Git状态,似乎在其他地方没有.en.Designer.cs
文件,我们的.gitignore
文件也没有忽略它.
为了生成一个Validation.en.Designer.cs
的文件,我try 过:
- 禁用代码生成并将其重新启用为公共
- 将VS2022与"运行自定义工具"操作配合使用
- 在"生成资源"操作中使用Rider
- 创建空白
.resx
/.en.resx
文件并手动将值移入其中 - 手动更新
.csproj
文件,以确保它与其他文件具有相同的ResX代码
唯一有效的方法是创建一个空的Validator.en.Designer.cs
文件,该文件立即填充了正确的值.
然而,当团队成员对.en.resx
文件进行更改时,.en.Designer
文件不会更新,即使他们的更改在编译/运行应用程序时生效.然而,对默认.resx
文件do的改变导致对.Designer.cs
文件的改变.
那么,在我们的.en.resx
文件之外,我们supposed会有一个.en.Designer.cs
文件吗?或者,默认的.Designer.cs
文件应该根据本地文件 Select 正确的.resx
源文件,而我们的项目中只有额外的文件?