簡體   English   中英

發布期間,如何自動將類庫中的自定義配置文件包含到可執行項目中?

[英]How can I automatically include a custom configuration file from my class library into my executable project during release?

我有一個VS2008解決方案,其中包含許多類庫以及一個可執行項目(Windows服務)。 我的類庫之一是第3方組件的包裝,該包裝允許進行大量配置,因此我創建了一個名為3rdPartyConfig.xml的自定義XML文檔和一個名為3rdPartConfig.cs的強類型分析類。

由於我的可執行項目引用了該類庫,因此在應用程序運行時,它將在其執行位置中查找XML文件。 為此,我在3rdPartyConfig.xml設置了以下屬性:

  • 設置Build Action = Content
  • 設置“ Copy to output Directory = Copy always

當我在Debug配置中運行時,可以看到3rdPartyConfig.xml已復制到生成輸出文件夾中。 該應用程序運行良好,能夠讀取文件。 但是,當我發布為Release時 ,Visual Studio 不會復制XML文件,因此在應用程序運行時找不到它。

如何確保我的自定義配置文件包含在Release build輸出中? 我需要編寫預構建腳本還是后構建腳本?

注意事項:

  • 我知道一種解決方法是刪除XML文件並將配置添加到app.config。 我被要求不要那樣做(客戶端希望能夠輕松替換配置文件)。
  • 另一個解決方法是將配置信息存儲在數據庫中。 客戶也不想這樣做。
  • 我已經調整了一個事實,即在處理Windows服務時“執行位置”變得模糊。 請放心,我的代碼不會檢查安裝位置, 而不是 c:\\windows\\system32

謝謝!

只需在解決方案中為文件編輯“復制到輸出目錄”屬性: 在此輸入圖像描述

您能否不只是將配置文件添加為可執行項目的鏈接,然后將其設置為復制到發行目錄(如果較新)?

暫無
暫無

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

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