gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 08:10:16 26 4
gpt4 key购买 nike

我们通过 COM (CCW) 在 native C++ 中使用我们的 .NET 程序集 DLL。每当我制作我的 DLL 的新版本时,我必须将两个文件(.dll 和相应的 .tlb)发送给在他们的代码中使用它的工作人员。

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

最佳答案

使用 Visual Studio .NET 执行此操作并不十分简单,但可以完成。在基本层面上,您需要做的是:

  1. 生成您的 TLB 文件,例如“YourLibrary.tlb”。

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

  3. 在脚本文件中,逐字输入以下文本(但当然要替换为您的实际 TLB 文件名):

    1 类型库“YourLibrary.tlb”

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

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

    rc 你的图书馆.rc

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

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

  7. 在“应用程序”选项卡的“资源”下,选择“资源文件”选项并浏览到第 5 步中的“YourLibrary.res”文件。

  8. 保存并重建项目。

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

如果稍后重新生成 TLB 文件,则需要重复第 5 步重新编译资源文件,并重复第 8 步将新版本嵌入到 DLL 中。

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

关于c# - 如何将 .tlb 作为资源文件嵌入到 .NET 程序集 DLL 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/417803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com