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

Jam*_*ndy 5 .net c# 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?

另外值得注意的是: 如果我在项目中的任何其他位置添加另一个resx(wp8 app或另一个pcl),那么在添加字符串时它会表现出完全相同的行为.