命名空间错误中不存在类型资源

时间:2014-05-17 01:49:22

标签: c# compiler-errors namespaces resources

还有另外一个问题。我几乎完成了我的项目,但感觉我必须更改项目的命名空间。 但不是使用重构 - >重命名,我选择了我的命名空间,编辑 - >使用不同的命名空间查找和替换并替换我的整个解决方案(因此解决方案中的所有位置,例如命名空间或文本“name1”都存在,现在更改为“name2”)。

但现在我得到了大约16个错误,他们都说同样的事情:“名称空间名称1中没有类型或名称空间”资源“。

     this.centerPanel.BackgroundImage = global::login_DragDrop.Properties.Resources.oeftest;

所以例如在这行代码中(主要在designer.cs中)资源是红色的吗?

有关如何解决此问题的任何提示?

5 个答案:

答案 0 :(得分:30)

您需要在资源文件上运行代码生成,以便在那里获得正确的命名空间。

请按照以下步骤操作:

  • 打开项目属性(右键单击>属性)
    • 点击“应用程序”部分
    • 输入您首选的默认命名空间
    • 关闭并保存您的媒体资源
  • 在解决方案资源管理器中导航到您的Resouces.resx文件(在“属性”下)
    • 右键单击Resources.resx文件
    • 选择'运行自定义工具' (或 alt + L

这将再次运行资源文件的代码生成。生成的代码使您可以对资源字符串中的值进行强类型访问。

答案 1 :(得分:5)

运行自定义工具对我不起作用。 但我发现如果我添加了一个资源,问题就会自行修复。

请按照以下步骤操作:

  • 打开项目属性(右键单击>属性)
  • 单击参考资料部分
  • 在“添加资源”下拉列表中,选择“添加现有文件”
  • 选择任何资源文件。 (我选择了一个现有的图像文件)
    • 此时我的错误消失了。
  • 选择刚刚添加的资源
  • 点击删除资源(清理)
  • 关闭并保存您的媒体资源

我知道的迟到(非常)回应,但你去了。

答案 2 :(得分:1)

由于我的案例中没有一个答案有效,我决定以自己的答案发表。

这是我做的:

  • 在完全相同的命名空间(Y)中创建具有相同名称(X)的类。
  • 名称空间”Y“已包含”X“的定义。”出现错误。
  • 删除课程X。

删除该类后,名称为X的资源在名称空间中仍然可见。

答案 3 :(得分:1)

在我的情况下,Resource.Designer.cs文件以某种方式从项目中排除了……单击显示隐藏文件(显示所有文件),右键单击将其包含在项目中,并对其进行了修复。 ew ..

答案 4 :(得分:0)

您很可能尝试添加另一个与现有资源同名的资源文件。 要解决此问题,只需删除Resources.resx文件中的相应行,例如,您将看到两行具有相同的"数据名称" :

  <data name="button" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>