.net 在命令行MSBuild期间注册DLL/COM互操作

.net 在命令行MSBuild期间注册DLL/COM互操作,.net,msbuild,hudson,.net,Msbuild,Hudson,我正在使用运行在Windows机器上的Hudson自动化基于MSBuild的C#解决方案构建。我的产品依赖于许多第三方DLL,这些DLL需要以某种形式或方式注册,以便构建工作。是否有通过MSBuild或Hudson执行此类注册的最佳实践 详情如下: 赎回要求我在每台机器上对其DLL运行一次regsvr32。我可以容忍执行每台机器的配置步骤,但我宁愿不这样做,因为我更喜欢完全包含的构建 外接程序Express要求我针对其COM组件运行RegAsm/tlb。似乎我需要为存储库(其中包含DLL)的每

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

详情如下:

  • 赎回要求我在每台机器上对其DLL运行一次regsvr32。我可以容忍执行每台机器的配置步骤,但我宁愿不这样做,因为我更喜欢完全包含的构建

  • 外接程序Express要求我针对其COM组件运行RegAsm/tlb。似乎我需要为存储库(其中包含DLL)的每一次干净签出都这样做

谢谢


-Patrick

如果您正在寻找一个自包含的、没有注册表依赖项的构建,那么您可能希望查看免注册COM。见MSDN:|

注册免费COM做得很好;它受到XP以上版本的支持,您可以将其改装为第三方库。不过,这有点复杂(您需要以XML格式在单独的清单文件中声明DLL的COM服务器),调试可能会很痛苦(尤其是在XP和Server 2003上,没有工具可以帮助您)。

很酷,谢谢——这看起来是正确的方法。然而,从短期来看,在构建服务器上注册这些东西可能是最简单的方法。