2015-11-18 51 views
3

我有一個基於保存在配置文件中的設置運行的主可執行文件。我希望能夠通過不同的可執行文件更改配置文件中的設置。如何從一個Visual Studio項目創建兩個不同的可執行文件

有沒有一種在一個winforms項目中構建這兩個不同的可執行文件的簡單方法?這意味着當我按下build時,兩個不同的exes會在同一個解決方案文件夾中創建 - 一個用於更改配置文件,另一個用於使用它。

我知道如果我創建兩個使用相同解決方案文件夾的單獨項目,我可以這樣做,但我希望能夠一步完成所有工作。

我假設要做到這一點,我需要一個具有兩個「主」功能的項目。這可能嗎?

回答

5

您可以根據需要在一個解決方案中構建儘可能多的程序集。程序集可以導致.DLL或.EXE的。

創建解決方案(或打開現有的解決方案)。右鍵單擊「解決方案資源管理器」中的根節點,然後選擇「添加」>「新建項目」,然後選擇要添加的項目類型。在Solution Explorer中右鍵單擊項目項目,然後選擇「屬性」>「生成」>「輸出路徑」。設置到要構建到的目標目錄。對其他項目重複此操作。

因此可能會在Solution Explorer中的以下內容:

  • MySolution
    • MyCommonCode(類庫,導致MyCommonCode.dll)
    • MyMainApp(WinForms應用程序,導致MyMainApp.exe )
    • MyConfigApp(Winforms App,導致MyConfigApp.exe)

的MyCommonCode組件包括共享兩個exe文件的使用的是像你的配置文件等

MyMainApp的標識代碼是你一個項目的參考主要應用的GUI應用程序(的WinForms,WPF等)到MyComonCode項目。

MyConfigApp是一個GUI應用程序,用於編輯配置值以及對MyCommonCode項目的項目引用。

這樣你會得到:MyCommonCode.dllMyMainApp.exeMyConfigApp.exe

更新基於註釋:

一個編譯運行可以爲一個項目只建一個二進制文件(DLL或EXE) - 據我所知。上面代碼的答案是什麼:將大部分代碼移動到公共/核心DLL中,併爲兩個只配置和使用中央公共/核心DLL的exe文件製作兩個精簡的項目。

您可以使用編譯器定義基於同一個項目構建不同的EXE。你甚至可以定義你自己的定義。但是每個編譯運行你只能爲每個項目建立一個二進制(DLL,EXE) - 一個或另一個,但不能兩個。

+1

這當然都是正確的,但這不是他問的。問題標題是*項目*中的多個可執行文件。他進一步說:「我知道如果我創建兩個使用相同解決方案文件夾的獨立項目,這是可能的」 – PaulG

+0

感謝您的清除 - 沒有得到。 – Marc

+2

不過,我認爲他的問題的簡短答案是'不',並且會說這是解決問題的正確方法。將配置和代碼讀取/更新到共享的'Common'項目中。 – PaulG

0

配置文件的理想之處在於,您不需要構建多個可執行文件。 ;-)

您可以使用配置管理器,創建一個新的解決方案配置和改變輸出目錄爲該配置。

+0

我想這樣做的原因是讓一個能夠訪問配置編輯器的「管理員」能夠控制「非管理員」用戶有權訪問哪些功能。 – Gevo12321

相關問題