【发布时间】:2018-02-06 20:34:04
【问题描述】:
我将一个文件 vbaProject.bin 复制到我的 VS.net 项目的根目录中(我希望它高度可见,而不是在子文件夹中)。我选择了它并将 Build Action 设置为 Embedded Resource。然后我在我的代码中做了这个......
App = System.Reflection.Assembly.GetExecutingAssembly()
Ans = App.GetManifestResourceStream("vbaProject.bin")
Ans 永远是空。 GetManifestResourceStream 对我来说有点像黑匣子,如果在“根”中找到这个资源可以吗?如果是这样,我的名字是正确的,还是我需要某种路径?
更新:按照迈克尔的建议,我这样做了:
App = System.Reflection.Assembly.GetExecutingAssembly()
Ans = App.GetManifestResourceStream(App.GetName().ToString().Split(","c)(0) & ".vbaProject.bin")
这是一个安全的解决方案吗?
【问题讨论】:
-
作为调试辅助,调用 GetManifestResourceNames() 并检查结果以确保资源正确嵌入了您期望的名称。
-
@MichaelLiu - 非常有用!我找到了它,“CBLDynaTools.vbaProject.bin” 那么如何获得“CBLDynaTools”部分以便我可以建立名称?
标签: vb.net visual-studio .net-assembly