2017-05-25 23 views
1

我正在構建一個複雜的WPF應用程序。我有多個視覺工作室解決方案。每個解決方案都有一個項目由於代碼保護的原因,我不得不將項目放在不同的解決方案中。Click Once Deployment - 如何發佈具有多個VS項目的應用程序?

  1. ComponentMain溶液(WPF應用程序)
  2. ComponentA溶液(類庫)
  3. 以componentB溶液(類庫)

組分A &乙referenses主要解決方案的組件。主要解決方案在運行期間使用反射來加載組件A & B。

當我構建每個解決方案時,將觸發一個Xcopy後構建事件,並將所有dll都複製到一個名爲GlobalOutput的文件夾中,我可以通過運行MainSolution.exe運行該應用程序。

現在我想用ClickOnce發佈應用程序。正如我前面提到的,有多個項目和Dll使用反射進行加載。

據我所知,由於上述原因,我無法使用點擊一次發佈嚮導。也許我錯了。

如何使用點擊一次發佈我的應用程序? 因爲我擁有GlobalOutput目錄中的所有dll,是否有任何方法可以直接從那裏創建clickkonce部署?

回答

0

您可以嘗試指定通過單擊一次發佈哪些文件。

對你來說,這將是這樣的:

  • 選擇這些解決方案的一個/項目作爲出版工程配置單擊一次。您需要將其他項目/解決方案中的dll標記爲先決條件。
    1. 使用在解決方案資源管理器中選擇的項目,在項目菜單上,單擊屬性。
    2. 單擊發布選項卡。
    3. 單擊「應用程序文件」按鈕以打開「應用程序文件」對話框。
    4. 在「應用程序文件」對話框中,選擇您希望標記爲先決條件的應用程序程序集(.dll文件)。請注意,您的應用程序必須具有對應用程序程序集的引用,才能使其顯示在列表中。
    5. 在「發佈狀態」字段中,從下拉列表中選擇「先決條件」。

爲了從其他的解決方案/項目出現在應用程序文件對話框步驟3中的文件,您可以參考輸出的dll,或將其添加爲解決方案文件,並設置生成操作內容。

欲瞭解更多信息:Specify Which Files Are Published by ClickOnce

+0

您的評論說:「請注意,您的應用程序必須以應用程序集的引用它出現在列表中。」但是,我如何包含未引用的dll? – Rahul

+0

您可以引用dll,或者轉到您想要發佈的項目,點擊一次,添加現有項目,添加現有的dll。驗證該dll項是否將Build Action設置爲內容。 – Vince

相關問題