我有一个dll项目,我需要在我们的生产机器上安装到GAC中。 (我希望我不必使用GAC,但SSIS坚持)
gacutil.exe在目标计算机上不可用并使用" Enterprise.Services"来自PowerShell不起作用(我不知道为什么)
我的理解是我应该创建一个msi安装程序项目。
然而,在安装和部署扩展到Visual Studio(2015年即将到2017年)后,我发现我们的构建服务器无法构建这些项目,因为它使用MSBuild,而MSBuild无法构建vdproj项目文件。
使用CI构建管道(MSBuild)创建构建工件的正确方法是什么,该构建工件可以将dll安装到生产环境的GAC中?
注意:在SO上有几个部分答案,但我找不到任何,这是最新的/回答我的整个问题。回答时请记住这一点。
答案 0 :(得分:0)
您需要将其分解为几个用户故事。您没有找到部分答案,您正在寻找具体问题的实际答案。你问的更像是一部史诗。
通常我会使用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。