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

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

但是现在我得到大约16个错误都说同样的事情:“命名空间name1中不存在类型或命名空间”资源“。

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

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

关于如何解决这个问题的任何提示?

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

跟着这些步骤:

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

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

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

跟着这些步骤:

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

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

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

这是我做的:

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

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

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

   ..\Resources\button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a  

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