重命名命名空间后无效的.resx文件

Mar*_*sen 4 c# resx namespaces visual-studio-2010 winforms

考虑以下情况:

  • 在我的Windows窗体应用程序中,我有一个表单.
  • 该表单有一个.resx文件.
  • 该表单使用来自另一个程序集("Other.dll")的类("OtherClass").
  • "Other.dll"与主应用程序在同一个VisualStudio 2010解决方案中构建(在同一解决方案中只是一个单独的项目).
  • 在主项目(Windows窗体应用程序)中,我已正确添加对"Other.dll"项目的引用.

一切运作良好(如预期).

现在我需要将"Other.dll"中包含的类型的命名空间从"Old.Namespace"更改为"New.Namespace":

  1. 在VS2010中,我打开了"Other.dll"项目的"属性"窗口
  2. 我将"默认命名空间"文本框中的命名空间从"Old.Namespace"更改为"New.Namespace"
  3. 我相应地更改相关的.cs文件中的命名空间
  4. 我重建修改后的"Other.dll"项目.没有错误.修改后的"Other.dll"生成正常.

现在出现了问题:

当我重建整个解决方案后,编译器停止并报告表单的.resx文件无效:


"无效的Resx文件.无法加载.RESX文件中使用的类型Old.Namespace.OtherType,Other,Version 1.0.0.0,Culture = neutral,PublicKeyToken = null.确保已将必要的引用添加到项目中. 1521号线,5号线"


显然,.resx文件仍然从某处引用具有命名空间的类型.那个"某处"似乎来自.resx文件的二进制部分!

问题: 如何让.resx了解它现在必须引用新类型(使用更改的命名空间)?

请帮忙,我真的不知道如何继续这里...

小智 10

我遇到了同样的问题,解决方法是从resx文件中删除数据部分