我最近将我的MVC应用程序从Visual Studio 2010迁移到Visual Studio 2012,从那时起,每当我在任何.resx文件中添加新行时,资源设计器都不会更新,我不能在代码中通过其对应的属性访问新创建的资源行。可以访问所有其他资源条目(在迁移到VS 2012之前创建)。
答案 0 :(得分:1)
经过多次尝试和大量时间的浪费,我已经成功实现了它。我为每个资源文件做的是修改自定义工具到PublicResXFileCodeGenerator(来自GlobalResourceProxyGenerator),修改构建操作到嵌入式资源(来自内容),< strong>将自定义工具命名空间修改为类似MyWebAppNamespace的内容。 App_GlobalResources 。
在前两个步骤之后,我能够通过使用designerClass.ResourceKeyName属性访问资源,但不能通过调用designerClass.ResourceManager.GetString(“ResourceKeyName”)来访问资源,这会抛出一个异常,告诉我的资源不是在命名空间MyWebAppNamespace.App_GlobalResources中找到。第三步修复了我的所有问题,即使我必须重命名整个应用程序中的所有Resources命名空间。