我有一个支持两种语言的 ASP.NET 应用程序:默认为英语,第二种选择为葡萄牙语。
一切正常,请看第一张图片:
然后,当我尝试添加或删除字符串资源时,visual studio 在编译时开始给我出现歧义错误,如下所示:
The namespace 'VolunteerGames.Web.Translations' already contains a definition for 'Translation'
和
Ambiguity between 'VolunteerGames.Web.Translations.Translation.ResourceManager' and 'VolunteerGames.Web.Translations.Translation.ResourceManager'
我注意到在更改设计器 (Translation.resx) 中的资源后,创建了一个名为 Translation1.Designer.cs 的新文件。它创建了另一个名为 Translation 的类。如果我删除这个新文件,我可以编译,但是当我尝试在我的 Controller 上使用时,找不到我刚刚创建的新字符串。
我不明白这是怎么回事。我已经在这个项目中工作了几个月,一切都很好。
最佳答案
因为 Visual Studio 开始创建文件 Translation1.Designer.cs,而该新文件与 Translation.Designer.cs 冲突,当我试图删除它时我遇到了错误,然后我删除了 Translation.Designer.cs,所以现在一切都恢复正常了。
关于c# - 更改资源文件后出现歧义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37848384/