如何修复'资源'不是'我'的成员

Den*_*nis 14 .net vb.net

我使用VS2010和我所有的项目"My.Resources"的访问并显示所有可在项目的"资源"部分中的文件.在这个项目中,我在项目中有一堆资源文件,但编译器抱怨:

'Resources' is not a member of 'My'
Run Code Online (Sandbox Code Playgroud)

我在哪里:

Private lockedImage = My.Resources.myfile
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

Den*_*nis 14

在VS2010中,在[您的项目] - >我的项目 - > Resources.resx中查找解决方案资源管理器.单击"属性",确保"自定义工具命名空间"显示"My.Resources".(花了我一个小时来弄明白这一点)


Füt*_*ire 11

以上是一个有效的解决方案,但我注意到,在我的情况下,错误是由另一个问题引起的.有时我们认为错误实际上是前面错误的结果.如果从" 解决方案资源管理器"中的" 资源"文件夹中删除了资源,也可能会出现此错误.如果您打算删除这些资源,则需要通过单击项目属性的" 资源 "部分中的" 删除资源 "按钮来实际删除它们.然后,这将删除底层自动生成的代码中缺少项目的痕迹.清除不正确删除的图标资源文件后,我不再遇到VS失去对My.Resources的引用的问题.

希望能帮助别人.

更新:当我在其他程序中打开资源文件时,我也收到了此错误.在我的情况下,我添加了一个用户手册word文档,但它仍然在Word中打开.我必须做的就是解决这个问题,就是从我的资源中删除word文档,在Word中关闭它并重新添加它.一旦我构建了解决方案,错误便消失了.

  • 对于未来的读者,如果您错误地删除了资源,您可以通过右键单击 Resources.resx,选择“查看代码”,然后删除引用该资源的 XML 元素来清除它。 (2认同)

Moh*_*kar 11

根据丹尼斯的解决方案:我在他的回答中添加了更多细节。

步骤 1 单击“显示所有文件”按钮。

在此处输入图片说明

步骤 2 单击“我的项目”左侧的展开按钮。

在此处输入图片说明

步骤 3 右键单击Resources.resx

在此处输入图片说明

步骤 4 单击“属性”

在此处输入图片说明

第 5 步-将名称My.Resources更改为任何示例My.ResourcesRepair然后保存更改并再次将其命名回My.Resources并保存更改然后重建。

在此处输入图片说明


jpm*_*mir 5

在基于具有不同名称的另一个项目的元素(表单,类,资源等)创建新解决方案时,我遇到了同样的错误.

由于我的资源命名空间是"My.Resources",正如@denis先前指出的那样,我尝试通过右键单击解决方案资源管理器中的"Resources.resx"并单击"运行自定义工具"来重新生成资源命名空间...窗口,显示一条消息,说明在XML中声明的某些图标不存在于系统中.

由于我在寻找旧名称并更改为新名称的整个解决方案上进行了搜索和替换,因此影响了声明资源的XML文件.更改图标文件名就可以了.