开发者

registering DLLs / COM interops during command-line MSBuild

I'm automating my MSBuild-based C# solution build using Hudson running on a Windows machine. My product depends on a number of third-party DLLs that need to be registered in some form or fashion for the build to work. Are there any best practices for performing that sort of registration via MSBuild or Hudson?

The particulars:

  • Redemption requires that I run regsvr32 against their DLLs once per machi开发者_如何学Pythonne. I can tolerate doing a per-machine configuration step, but I'd rather not, as I'd prefer a fully-contained build.

  • Add-in Express requires that I run RegAsm /tlb against their COM components. It would seem that I need to do this for every clean checkout of my repository (in which the DLLs are contained).

Thanks,

-Patrick


If you're looking for a self-contained build, with no registry dependencies, you might want to look at registration-free COM. See MSDN: unmanaged | managed.

Reg-free COM does the job nicely; it's supported from XP upwards, and you can retrofit it to third-party libraries. However it's a little complicated (you need to declare your DLL's COM servers in a separate manifest file in XML format), and debugging can be a pain (especially on XP and Server 2003, where there are no tools to help you).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜