5

我的可移植类库中有一个资源文件,目前包含大约 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,那么在添加字符串时会表现出完全相同的行为。

4

1 回答 1

1

目前看来,这是更新 2 后 Visual Studio 中的一个错误。有关更多详细信息,请参见此处:

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#tabs

于 2013-04-10T15:15:07.840 回答