簡體   English   中英

在Visual Studio中為C#項目管理多個配置文件

[英]Managing multiple configuration files in Visual Studio for a C# project

我了解到,構建應該非常簡單,並且需要更少的人工干預。 在我的情況下,我有3個環境,DEV(開發版本),SIT(STG集成測試)和UAT(用戶接受測試)。 所有這些環境都具有不同的數據庫連接詳細信息和其他設置(例如日志記錄)。

當前,當需要將應用程序部署到SIT環境時,我需要做的是構建應用程序。 將其安裝在目標環境上並手動修改配置文件。 這是有問題的,因為我可能會錯過一些條目。 當配置文件很大時,情況會變得更糟。

問題

1-從VS進行構建時,是否仍要指定環境名稱。 這樣就可以使用該環境的配置文件。

2-還有哪些其他方法將有助於減少人為干預建築?

3-假設我的應用程序名稱為“ Foo”。 我在解決方案中有一個軟件包項目,它將創建可安裝的軟件包。 無論如何,是否根據環境指定產品標題? 我的意思是,如果選擇了SIT,則安裝時的產品名稱將為“ Foo-SIT”。 我想這將避免混淆正在安裝哪個環境版本。 如果有其他更好的選擇,我將很高興聽到。

2 –絕對正確–應該嘗試盡可能自動地進行構建和部署過程。 最好的選擇是使用NAnt之類的工具來設置自動構建/部署腳本。 您的腳本可以具有針對您每個環境的目標,例如

<project name="MyApp" xmlns="http://nant.sf.net/release/0.85/nant.xsd">
    <target name="DEV">
      <!-- execute any tasks needed to build the app, such as msbuild(1) -->

      <!-- execute any tasks needed to build the tweak the config files, such as xmlpeek / xmlpoke(2) -->

      <!-- execute any tasks needed to copy the now-built and configured project output the tweak the destination server, such as copy(3)-->
    </target>

    <target name="SIT">...</target>
    <target name="UAT">...</target>

</project>

如果您不熟悉NAnt,則只需不到一天的時間就可以啟動並運行和編寫腳本。 收益是立即而持久的,因為您永遠不必將VNC連接到服務器上並再次調整配置文件。

您可以在codeplex.com上查看EnvRide工具 其目的恰恰是使自動管理多個配置文件變得更加容易。

處理此問題的一種方法是創建3個項目,並將環境命名為新項目。 然后,使用生成后事件根據項目名稱復制正確的文件。

在構建后事件中,您可以基於$(ProjectName)宏告訴項目名稱。 所以你可以做類似的事情

IF "$(ProjectName)"="devproject" (
   copy ...
   copy ...
)

最好使這些項目將大部分實際工作(編譯)推遲到單個項目中,這樣您就不必在多個項目中保持最新設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM