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

Posted

技术标签:

【中文标题】命名空间错误中不存在类型资源【英文标题】:type resources does not exist in namespace error 【发布时间】:2014-07-05 14:08:07 【问题描述】:

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

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

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

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

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

【问题讨论】:

您的项目属性中的默认命名空间是否也相应更改?修复后转到资源文件(在属性下),右键单击并选择运行自定义工具 谢谢家伙,非常有帮助,成功了:) 【参考方案1】:

我还使用“查找和替换”重命名了我的项目命名空间并遇到了同样的问题。 @rene 建议的应用程序修复是一个修复(谢谢),但我发现“settings.settings”具有旧的命名空间名称。使用 VS2019 时,我没有看到任何方法可以找到错误的名称,因此我求助于“查找”来查找问题。

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

由于在我的情况下没有一个答案有效,我决定发布自己的答案。

这是我所做的:

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

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

【讨论】:

【参考方案4】:

您很可能尝试添加另一个与现有资源同名的资源文件。 要解决此问题,只需删除 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>

【讨论】:

【参考方案5】:

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

按照以下步骤操作:

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

我知道迟到(非常)回复,但你去吧。

【讨论】:

【参考方案6】:

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

按照以下步骤操作:

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

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

【讨论】:

使用VS2013。我发现我不仅要更新项目的应用程序默认命名空间的命名空间,还要更新 .resx 文件属性的命名空间:自定义工具命名空间。假定这两个地方与代码开发是分开的,因此它们不会被全局查找和替换找到。 @shipr 感谢您的报告。我没有在 VS2010 中设置自定义工具,但我会检查 VS2013 并在今晚编辑我的答案。

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

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

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

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

命名空间“System.Web.Mvc”中不存在类型或命名空间名称

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

如何解决 .net 标准中的命名空间“System.Configuration”错误中不存在类型或命名空间名称“ConfigurationManager”?