命名空间'MyProject.Properties'中不存在'Resources'的类型或命名空间名称



一旦我向项目添加了资源,所有包含"Properties.Resources"的代码引用都被标记为错误,告诉我"类型或命名空间名称'资源'在命名空间'MyProject.Properties'(CS0234(中不存在。

我唯一做的是导航到项目的属性,然后通过单击"添加资源"然后在资源选项卡中添加一个资源,然后选择一个现有的 PNG 文件。添加资源文件时,突然出现错误。

通常,这些错误不会发生,因为我已经向项目添加了很多其他资源。为什么这些错误会突然出现?

它是一个WinForms应用程序,目标框架是.NET Framework 4.6.1。

我自己解决了这个问题。

前段时间,我只重命名了项目默认命名空间的名称。但是,我没有更改各种文件中的引用,例如在Resources.resx文件中。因此,找不到命名空间Properties

我通过将命名空间重命名为其默认名称解决了这个问题。

编辑:正如我在这里阅读的,项目属性中的默认命名空间也需要更改,以便更改所有其他文件中的引用。

通过右键单击项目名称获取项目属性,然后选择"资源"选项卡将访问修饰符更改为 public

我通过进入 Resources.resx 文件并查找具有相同数据名称的条目来解决此问题,例如:

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

我最初添加了另一个同名"Buscar"的图像。我删除了它,一切都恢复正常。

当 Resource.resx 文件全部搞砸时,删除它更容易,右键单击解决方案资源管理器中的"属性"并创建新的资源文件。