在PCL中将字符串资源添加到.resx会​​导致编译错误

时间:2013-04-08 12:31:07

标签: c# .net visual-studio portable-class-library

我的便携式类库中有一个资源文件,目前大约有30个字符串。可以从我的Windows Phone 8应用程序访问它们,并且文件中已有的字符串可以正常工作。

但是,现在当我尝试添加一个新字符串时,它会导致编译错误:

'System.Type'不包含'Assembly'的定义,并且没有扩展方法'Assembly'接受类型'System.Type'的第一个参数可以找到(你是否缺少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()和使用语句消失是问题,但我无法将它们放回去,因为该文件是由visual studio生成并更改回来的。有什么想法吗?

我能想到的唯一重大变化是新的Visual Studio 2012更新2?

还值得注意: 如果我在项目中的其他地方(wp8应用程序或其他pcl)添加另一个resx,那么在添加字符串时它会表现出完全相同的行为。

1 个答案:

答案 0 :(得分:1)