Inventor自带的案例中,VBA的代码想要复用到C#上,经常会遇到问题:方法名不一样、引用的包不一样,等等等等。好在也提供了C#版本的demo,但是在实际的使用过程中也会出现一些小问题。
Inventor的C# Ribbon案例中,assembly.GetManifestResourceStream("命名空间.项目的资源文件名.图标名称.ico");
需要记住使用GetManifestResourceStream
的时候,资源必须是嵌入式资源,也就是说这里的图标名称.ico"
就必须是“嵌入式资源”。可以在Visual Studio上点击该文件,右键属性,修改该文件为嵌入式资源。
这里尤其需要注意的是:“命名空间”并不是该cs文件中namespace的名称,需要在项目上右键属性去查。
并且Inventor的案例中,使用了Icon这个类,使用的图片(图标)必须是ico为后缀的图片。
操作可以参照这里的图
更加信息的解释:C#反射:GetManifestResourceStream 获取项目资源为空解决方案
一个与该话题无关的问题:Visual Studio已经打开的时候,向项目文件中添加一个新的文件,Visual Studio并不会主动的将这个新文件展示在“解决方案资源管理器”中。需要自己在“解决方案资源管理器”中找到“显示所有文件”的按钮,手动显示所有文件