我的VB.Net VSTO上有一个运行时System.Resources.MissingManifestResourceException
。我读到这很可能是由于我的资源文件中的设置错误。因此,我进入了属性,并确保将Build Action
设置为Embedded Resource
(确实如此)。
就在下面,我看到Copy to Output Directory
被设置为Do not copy
。我以为只要将其更改为Copy always
并尝试进行编译就不会有伤害。
它没有解决任何问题,但是现在Build Action
已更改为Content
,并且我遇到了数十个BC30456
错误:
“资源”不是“ WordAddIn.My”的成员
出现错误时,我最终遇到了UserControl设计器,出现错误的行显示:Me.Button_Foo.Image = Global.WordAddIn.My.Resources.Resources.Resource_Bar
我确实将资源文件设置恢复为原来的状态(Embedded Resource
和Do not copy
),但是错误仍然存在。
注意:Resources.Designer的命名空间为My.Resources
,而Resources
类及其成员为Friend
。但是,Intellisense不允许我从发生构建错误的任何对象访问名称空间。我尝试更改其他名称的“自定义工具命名空间”,但它不会出现在项目中的任何位置。 (自定义工具确实会更新Resources.Designer.vb文件,我会说它做得正确)
Resources.Designer.vb不包括在项目中,而是显示在“杂项文件”中。与该帖子相同的症状:Visual Studio - project shows up as "Miscellaneous Files"
我确实(1)从项目中排除了Resources.resx
(不能单独在Resources.Designer.vb
上使用),(2)清理了解决方案,(3)重新启动了Visual Studio,(4)清理了解决方案(zust'in'kase),(5)然后重新包含它,现在的问题是项目中包含Resources.Designer.vb
,但没有Resources.resx
被“嵌入”,所以我怕我会摔坏吗?
答案 0 :(得分:0)
Visual Studio 2017的修复程序如下:
Resources.resx
文件->“属性”,并记住“自定义工具命名空间”字段的值。 (步骤6需要)Resources.resx
和Resources.Designer.vb
文件:在解决方案资源管理器中,对于每个文件,右键单击->“从项目中排除” Resources.resx
文件,但不添加Resources.Designer.vb
:在解决方案资源管理器中,确保已启用[显示所有文件]按钮(在[刷新附近) ]);资源文件应显示在其旁边,带有灰色的文件夹/文件符号;右键单击->“包含在项目中”(或者,右键单击“我的项目”节点,然后选择“添加” /“现有项目”。Resources.resx
->“属性”:确保“自定义工具”的值为“ PublicVbMyResourcesResXFileCodeGenerator”;并且“自定义工具命名空间”对应于您从项目中删除文件之前的值(请参见步骤1。)。Resources.resx
->“运行自定义工具”