在命令行MSBuild期间注册DLL / COM interops

时间:2010-07-21 22:06:51

标签: .net msbuild hudson

我正在使用在Windows机器上运行的Hudson自动化基于MSBuild的C#解决方案构建。我的产品依赖于许多第三方DLL,这些DLL需要以某种形式或方式注册才能使构建工作。是否有通过MSBuild或Hudson进行此类注册的最佳实践?

详情:

  • Redemption要求我每台机器对其DLL执行一次regsvr32。我可以容忍每个机器配置步骤,但我不愿意,因为我更喜欢完全包含的构建。

  • Add-in Express要求我对其COM组件运行RegAsm / tlb。似乎我需要为我的存储库(包含DLL)的每次干净检查执行此操作。

谢谢,

-Patrick

1 个答案:

答案 0 :(得分:0)

如果您正在寻找一个没有注册表依赖项的自包含构建,您可能需要查看免注册COM。请参阅MSDN:unmanaged | managed

免注册COM可以很好地完成工作;它从XP向上支持,您可以将其改装到第三方库。然而,它有点复杂(您需要在XML格式的单独清单文件中声明DLL的COM服务器),并且调试可能很麻烦(特别是在XP和Server 2003,没有工具可以帮助您)。