【问题标题】:building a .net project with a COM reference使用 COM 引用构建 .net 项目
【发布时间】:2011-12-12 17:16:19
【问题描述】:

我的 .net 项目引用了我在开发人员机器上注册的 COM 类型库(我无法控制这个)。 看起来 VS2010 动态生成互操作程序集 - 发布和调试有 2 个不同的(它们确实不同)。 它们分别放在 /obj/Release 和 /obj/Debug 文件夹中。 问题是 COM 库没有也不应该在构建机器上注册。

我在这里有什么选择? 我不想将 /obj/Release(Debug) 文件夹与互操作程序集置于源代码控制之下。如果我必须这样做,我想改变路径,但我看不到任何方法可以做到这一点。

如果我必须使用 tlbimp 自己生成 IA,如何生成 2(调试和发布)版本?

【问题讨论】:

    标签: .net visual-studio visual-studio-2010 com com-interop


    【解决方案1】:

    您可以使用tlbimp.exe 手动创建互操作程序集,然后引用这些程序集而不是实际的 COM 库。这意味着 Visual Studio 不必生成互操作程序集,您可以完全控制它们。当然,您必须将它们签入,然后您可以将它们放在任何您想要的地方。

    编辑:

    由于互操作程序集只包含元数据,也就是说没有可执行代码,“发布”或“调试”构建之间应该没有区别,实际上 tlbimp.exe 没有选项来指定。

    【讨论】:

    • 这 2 个 IA 确实不同 - 我将它们与差异工具进行了比较。不过还是谢谢你的回答,我想我没有更好的选择。
    • 这很有趣......我想知道它们为什么不同,是什么导致了不同以及实际上可能有什么不同......如果我发现了什么,会告诉你的。
    猜你喜欢
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多