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

时间:2012-02-15 19:17:08

标签: .net vb.net

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

'Resources' is not a member of 'My'

我在哪里:

Private lockedImage = My.Resources.myfile

我该如何解决这个问题?

24 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:10)

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

希望能有所帮助。

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

答案 2 :(得分:5)

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

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

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

答案 3 :(得分:4)

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

  

第1步 点击显示所有文件按钮。

enter image description here

  

第2步 点击左侧的展开按钮我的项目

enter image description here

  

第3步 右键点击 Resources.resx

enter image description here

  

第4步 点击属性

enter image description here

  

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

enter image description here

答案 4 :(得分:3)

此前的解决方案对我不起作用。

'Resources' is not a member of 'My'是由尝试向按钮添加图标引起的。我尝试在Resources.resx上运行自定义工具并且一直出错。

我的解决方案是进入我的项目>资源并删除添加的图标。一旦完成,我做了一个干净的&重建。这对我有用。

答案 5 :(得分:3)

就我而言,我只是去了Resources.rex的代码 并且我删除了导致问题的图像的最后一个值条目..保存,然后再次重新打开..对我来说很好。

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

...如何显示Resorces.rex代码:

  1. 解决方案资源管理器-单击Show_All_files
  2. 在[My Project / Resources.resx]上选择Resources.resx,然后按F7
  3. 最后一个“值”条目将一直位于页面的下方
  4. 确保该页面上没有重复的值

答案 6 :(得分:1)

我发现了一种解决此错误的不寻常方法。在尝试了这么多事情后。

我从资源文件夹中删除了图片并最终结束了  &#39;资源&#39;不是我的&#39;我的&#39; 170错误

这解决了错误。 我删除了资源文件夹中的所有文件。我从回收站恢复了它们并且所有错误都已经发生了。

答案 7 :(得分:1)

我不确定Web应用程序在My.Resources命名空间方面是否有不同的工作方式,但此问题中没有其他解决方案有帮助。

我的资源正常自动完成,但我得到了

  

资源不是我的

的成员

错误窗口中的错误。

我最终通过在类文件的顶部导入My命名空间来解决问题。

Imports <MyAppNameSpace>.My

然后可以通过仅调用来访问资源:

String x = Resources.<NameOfMyResource>

奇怪的是,它只能导入App命名空间。我还必须导入My

答案 8 :(得分:1)

有更多的运气改变&#34; My.Resources&#34;到&#34; MyResources&#34; 并更改&#34; Resources.resx&#34;的访问修饰符公开(它是当前的朋友访问修饰符)

修正了我的错误

答案 9 :(得分:1)

只需编辑记事本++中的DataRow即可。跟踪错误原因(错误显示在项目属性的“资源”选项卡中),删除导致错误的行。然后在您的解决方案资源管理器上,右键单击Resources.resx然后Resources.resx

这肯定会解决问题。

答案 10 :(得分:1)

在vb.net中,如果Resouce File可用,而不仅仅是检查Resorces.resx是否可用And Resorces.Designer.vb不可用而不是一次Exclude Resorces.resx并包含Resorces.resx而不是自动生成Resorces.Designer.vb你得到修复所有相关错误..

答案 11 :(得分:1)

Fütemire描述了我的问题。我刚刚“清理”了两个资源中的一些未使用的文件(在VS中执行Open My Project)和可能(我必须承认),我直接从VS外的Resources文件夹中删除了一些文件。糟糕。

我刚刚打开了Resources.resx文件,发现了两个红色下划线的项目,表示无法找到这些文件。我删除了XML文件中的那些数据块,并为我解决了问题。感谢。

答案 12 :(得分:1)

在我的情况下,简单的解决方法是

  1. 编辑resources.resx文件,使其不具有上述重复条目。
  2. 删除您输入的上次条目,可能导致问题
  3. 转到您的应用程序的“我的项目”部分。
  4. 将应用类型从Windows Forms Application更改为Class Library,然后将其更改回来。
  5. 在我的情况下再次连接My.Resources

答案 13 :(得分:0)

这是一个有点晚的答案,但我发现对项目命名空间的引用实际上是通过阅读 Resources.Designer.cs 文件来解决的。 一旦在 Project->Properties 部分下创建并可用,命名空间应该被解析。

How the system resolves the namespace to get to the Resources section

答案 14 :(得分:0)

该问题的发生通常是因为多个资源文件或文件夹存在于您的项目中。

这可能在其他一些目录中。

请将它们重命名为其他合适的名称。

保留您唯一使用的名称为“资源”

答案 15 :(得分:0)

请参阅以下解决方案以及我所做的事情。

PBImage.Image = Global.ProjectName.My.Resources.Resources.PictureName

答案 16 :(得分:0)

Private lockedImage = My.Resources.Resource.myfile

希望它能起作用...

答案 17 :(得分:0)

我一直都面临这个问题,并且这种解决方案一直对我有效。

  1. 解决方案资源管理器中单击显示所有文件。

  2. 导航到“我的项目” 文件夹下名为“ Resources.resx” 的文件。

  3. 在该文件的属性中,将文件的[自定义工具命名空间]重命名为“ My.Resources” 以外的任何名称。 (我将其命名为“我的资源” )。

  4. 清洁并重建解决方案。

  5. 导航至属性中的“ Resources.resx” 。将文件的[自定义工具命名空间]重命名为“ My.Resources”

  6. 清洁并重新构建解决方案。

您的问题应该得到解决。

答案 18 :(得分:0)

在VS2013中,在解决方案资源管理器中找到[Your Project] -> My Project -> Resources.resx。单击“属性”,并确保“自定义工具命名空间”中显示“ My.Resources”。

如果它不起作用,请尝试在其中放置“我的”。 -就是这个“我的”。

答案 19 :(得分:0)

只需删除您输入的最后一个文件,然后重新构建程序即可 &#34;如果您需要再次放置该文件,请更改文件位置,然后再次输入&#34;

答案 20 :(得分:0)

陷入同样的​​错误

  • 使用VS Code 2015
  • 通过Project&gt;中的Resource选项卡加载.png图像文件我的项目
  • 参考资源
  • 中的文件制作自定义按钮类

解决方案路径

  1. 使用[X删除资源]删除了“资源”选项卡中对资源的所有引用,并删除了文件“解决方案”中的所有资源&gt;项目&gt;资源。
  2. 通过[添加资源]下拉列表重新上传.png文件,加载文件而不是拖放。
  3. 重命名没有下划线的文件(这可能是多余的)。
  4. 重建解决方案

答案 21 :(得分:0)

在面对同样的问题后,使用了一些工具来协助资源转换,这就是为我解决的问题:

  • 转到“我的项目”,选择“资源”标签
  • 在顶部,您会看到“访问修改器”
  • 在我的情况下,它被设置为“(自定义)”。将其更改为“朋友”或“公开”(取决于您的需要),并且应该清除错误。

我正在使用ResX Resource Manager插件来协助翻译。每当我尝试在“我的项目”窗口打开时管理资源管理器中的资源时,此错误似乎一直出现。 发生这种情况时,ResX Resource Manager会抛出错误并重新显示My.Resources错误。重复上述步骤可以将事情恢复到工作状态。

答案 22 :(得分:0)

我如何解决这个问题: Visual Studio将错误指向此行:     Global.Resources.rptRecal.ResourceManager

它说无法找到rptRecal。 我知道这个文件存在,所以我只删除了该行,再次输入, 让“自动完成”功能启动。

答案 23 :(得分:-2)

在您的新项目上:

  1. 使用图片转到任何按钮
  2. 转到图片
  3. 尝试加载任何图片
  4. 从导入 - 尝试从其他项目加载所有图像
  5. 所以 - 不会出现错误 - 我在VS2013中应用了这个错误