我的可移植类库中有一个资源文件,目前包含大约 30 个字符串。它们可以从我的 Windows Phone 8 应用程序中访问,并且文件中已经存在的字符串可以正常工作。
但是,现在当我尝试像之前那样添加新字符串时,会导致编译错误:
“System.Type”不包含“Assembly”的定义,并且找不到接受“System.Type”类型的第一个参数的扩展方法“Assembly”(您是否缺少 using 指令或程序集引用?)
查看 .designer.cs 文件很明显这是问题所在。添加新字符串时,会发生两个变化:
- 使用 System.Reflection;消失
`global::System.Resources.ResourceManager("ViewModels.Resources.StringResources", typeof(StringResources).Assembly); 代替:
new global::System.Resources.ResourceManager("ViewModels.Resources.StringResources", typeof(StringResources).GetTypeInfo().Assembly);
.GetTypeInfo() 和消失的 using 语句是问题所在,但我无法将它们放回去,因为该文件是由 Visual Studio 生成并变回的。有任何想法吗?
我能想到的唯一重大变化是新的 Visual Studio 2012 更新 2?
另外值得注意的是: 如果我在项目的其他任何地方(wp8 应用程序或另一个 pcl)添加另一个 resx,那么在添加字符串时会表现出完全相同的行为。