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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了命名空间错误中不存在类型资源相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

答案

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

跟着这些步骤:

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

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

另一答案

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

跟着这些步骤:

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

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

另一答案

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

这是我做的:

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

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

另一答案

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

另一答案

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

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

以上是关于命名空间错误中不存在类型资源的主要内容,如果未能解决你的问题,请参考以下文章

错误:命名空间中不存在类型或命名空间 UI

命名空间“Microsoft”中不存在类型或命名空间名称“Reporting”

命名空间“Microsoft”中不存在类型或命名空间名称“Bot”?

错误 CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是不是缺少程序集引用?)

错误 CS0234:命名空间“UnityEditor”中不存在类型或命名空间名称“iOS”。您是不是缺少程序集参考?

错误 CS0234 命名空间“Xamarin.Forms.Platform”中不存在类型或命名空间名称“Android”