当前位置:  开发笔记 > 编程语言 > 正文

如何将.tlb作为资源文件嵌入到.NET程序集DLL中?

如何解决《如何将.tlb作为资源文件嵌入到.NET程序集DLL中?》经验,为你挑选了1个好方法。

我们通过COM(CCW)在本机C++中使用.NET Assembly DLL.每当我制作我的DLL的新版本时,我必须向在其代码中使用它的工作人员发送两个文件(.dll和相应的.tlb).

是否可以将.tlb文件作为.NET DLL文件中的资源嵌入?



1> Eric Rosenbe..:

使用Visual Studio .NET执行此操作并不简单,但可以完成.在基础层面,你要做的是:

    生成您的TLB文件,例如"YourLibrary.tlb".

    使用文本编辑器(如记事本,或Visual Studio中的文件/新建/文件... /文本文件)创建一个名为"YourLibrary.rc"的Win32资源脚本文件.

    在脚本文件中,逐字键入以下文本(但当然替换实际的TLB文件名):

    1个类型库"YourLibrary.tlb"

    将脚本文件保存到与TLB文件相同的文件夹中.

    从Visual Studio命令提示符,切换到包含脚本文件的文件夹,并使用以下命令对其进行编译:

    rc YourLibrary.rc

    这将在名为"YourLibrary.res"的同一文件夹中生成Win32资源文件.

    在Visual Studio中,右键单击解决方案资源管理器中的项目节点(例如,"YourLibrary"),然后选择"属性".

    在"应用程序"选项卡上的"资源"下,选择"资源文件"选项并浏览到步骤5中的"YourLibrary.res"文件.

    保存并重建项目.

TLB现在将作为资源嵌入到DLL中,以便其他COM应用程序可以读取它.

如果稍后重新生成TLB文件,则需要重复步骤5以重新编译资源文件,并执行步骤8以将新版本嵌入DLL中.

总而言之,您可以使用Build Events自动执行其中一些操作,或者将自定义MSBuild目标放入项目文件中,但这是另一个完整的讨论.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有