2012-08-10 93 views
4

我有兩個項目的解決方案:WiX源可以參考解決方案中其他項目的NuGet包嗎?

  • .NET應用程序
  • WiX的安裝項目。

我知道,可以參考WiX源中的項目輸出($(var.WindowsFormsApplication1.TargetFileName))。

現在我已經添加了一個NuGet包引用到我的.NET應用程序。所以,我想將NuGet包的內容放入我的設置中。

有沒有辦法做到這一點,而不是手動添加文件?

回答

5

我不相信有任何聯繫。我知道nuget是什麼,但我並沒有多少用處,因爲它更多的是將你的.NET依賴關係轉化爲範圍,然後是軟件分發。根據nuget如何放置文件,您可能可以執行諸如$(var.SomeProject.TargetDir)nuget_fetched.dll之類的操作。

這是假設SomeProject使用nuget的方式是引用在本地複製並可在項目的Outdir中使用。

+0

感謝您的回答。聽起來很糟糕。在構建.NET項目之後,NuGet包內容在解決方案目錄中可用...這就是我在「手動添加文件」下的含義。問題是包裝結構的潛在複雜性 - 這正是我想要避免的。 – Dennis 2012-08-11 10:34:49

+1

據我瞭解nuget,這是關於拉動外部組件,並以簡單的方式將它們添加到您的項目。我不相信他們根本就沒有解決部署問題。 – 2012-08-11 11:59:31

+0

我認爲這是迄今爲止做到這一點的最好方法,因爲軟件包管理器爲您提供了來自軟件包的庫('net40','sl3'等)的正確「風味」,否則您必須硬編碼或爲安裝程序添加路徑時創建啓發式(除了計算軟件包版本號)。也就是說,我剛剛遇到了一些包的庫的第一次出現*不*被設置爲「複製本地」(但只在一個開發人員的機器上),當然當它的依賴關係不在預期的地方。 – shambulator 2013-11-21 15:14:12

1

我寫了一個Resharper實時模板來刪除大量的文件添加打字,但基本上我只是手動添加文件。每個nuget包創建一個Wix組件可以保持整潔。

相關問題