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

本文关键字:编译 错误 resx PCL 字符串资源 添加 | 更新日期: 2023-09-27 18:08:16

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

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

"系统。类型'不包含'Assembly'的定义,也没有扩展方法'Assembly'接受类型'System '的第一个参数。可以找到类型'(您是否缺少using指令或程序集引用?)

查看.designer.cs文件,很明显这就是问题所在。当添加一个新字符串时,会发生两个变化:

    使用System.Reflection
  • ;
  • "全球:System.Resources.ResourceManager("ViewModels.Resources。StringResources",typeof (StringResources) .Assembly);出现在:

    新的全球:System.Resources.ResourceManager("ViewModels.Resources。StringResources",typeof (StringResources) .GetTypeInfo () .Assembly);

. gettypeinfo()和消失使用语句是问题,但我不能把它们放回去,因为文件是由visual studio生成的,并更改回来。什么好主意吗?

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

同样值得注意的是:如果我在项目的其他任何地方添加另一个resx (wp8应用程序或另一个pcl),那么这在添加字符串时显示完全相同的行为。

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

目前看来,这是Visual Studio更新2之后的一个bug。

https://connect.microsoft.com/VisualStudio/feedback/details/783211/resx-file-unable-to-be-edited-correctly-causes-compilation-error-in-generated-designer-file-after-vs2012-update-2标签