建立一个安装程序,用MSBuild安装dll到gac
问题描述:
我有一个dll项目,我需要在我们的生产机器上安装到GAC中。 (我希望我不必使用GAC但SSIS坚持)建立一个安装程序,用MSBuild安装dll到gac
gacutil.exe在目标计算机上不可用并且使用PowerShell中的“Enterprise.Services”不起作用(我不知道为什么)
我的理解是我应该创建一个msi安装程序项目。
但是,在安装Visual Studio(2015年即将到2017年)的安装程序和部署扩展之后,我发现这些项目不能由Build Server构建,因为它使用MSBuild,而MSBuild无法构建vdproj项目文件。
使用CI构建管道(MSBuild)创建构建工件(可以将生产环境安装到GAC中)的正确方法是什么?
注意:关于SO有几个部分的答案,但我找不到任何,这是最新/回答我的整个问题。回答时请记住这一点。
答
您需要将其分解为几个用户故事。您找不到部分答案,您正在为特定问题找到实际答案。你问的更像是一部史诗。
一般来说,我会创建一个使用Windows Installer XML的MSI。 WiX/MSI可以在不使用GACUTIL的情况下将文件安装到GAC。如果您使用WiX Visual Studio扩展“Votive”,则可以创建可使用MSBuild构建的.SLN/.WIXPROJ/.WXS。然后,您可以将其放入源代码控制系统,例如Git/TFVC/Subversion,并使用构建系统,如VSTS V.Next Build,XAML Build,Concourse,Jenkins来自动化管道以构建MSI。