我有多個解決方案,每個都有多個項目。如何使用MSBuild在單個應用程序套件包中組合多個.NET可執行文件?
我想要做的就是將這些項目的一個子集從可能不同的解決方案中組合到一個「包」中,然後像這樣部署它。
我可以編輯每個項目並更改它的輸出文件夾,但這會產生反作用,特別是這些項目中的一些是不同目標包之間的共享依賴項。這會造成一個繁瑣的混亂,而且很容易出錯。
理想情況下,我還希望有一些自由,以便如何在最終包中組裝這些應用程序,或許此應用程序位於包的根文件夾中,但也許這個其他可執行文件將放在最終包的子文件夾中。
最後,我與之合作的團隊不熟悉MSBuild,因此最終的解決方案應該可以在VisualStudio中使用。
我正在考慮創建一個任務來掃描項目依賴關係,並簡單地將每個輸出文件夾的內容複製到專用項目(將包含任務)的輸出文件夾中。如有必要,最終目的地可以通過屬性文件進行微調。
有沒有更好的方法?
通過Package我只是意味着包含了所有的文物可能他們是可執行文件,DLL,資源,配置文件等。我仍然希望他們繼續爲獨立然而實體的文件夾。
我不是100%確定的,但我認爲Visual Studio可以通過安裝項目來開箱即用。我敢肯定,您可以創建一個包含所有子解決方案的主解決方案,而不會丟失這些子解決方案,然後在主解決方案中創建一個MSBuild項目。 – David
事實上,聽起來您的解決方案並不是根據您的「產品」或您嘗試部署的東西來組織的。是否有機會以這樣的方式組織這些文件:一些是您導入的庫,另一些是可執行文件,然後它只是一個安裝程序問題? – Alex