命名空间错误中不存在类型资源
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 并在今晚编辑我的答案。以上是关于命名空间错误中不存在类型资源的主要内容,如果未能解决你的问题,请参考以下文章
错误 CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是不是缺少程序集引用?)
错误 CS0234:命名空间“UnityEditor”中不存在类型或命名空间名称“iOS”。您是不是缺少程序集参考?
命名空间“System.Web.Mvc”中不存在类型或命名空间名称
错误 CS0234 命名空间“Xamarin.Forms.Platform”中不存在类型或命名空间名称“Android”
如何解决 .net 标准中的命名空间“System.Configuration”错误中不存在类型或命名空间名称“ConfigurationManager”?