2017-06-05 149 views
0

我有一個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有幾個部分的答案,但我找不到任何,這是最新/回答我的整個問題。回答時請記住這一點。

回答

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。