2017-04-12 95 views
1

我有一個.NET Framework 4.6.1的ASP.NET Core WebApi項目。我也有一個app.config文件,其中包含一些WCF服務的端點。對於Dev和Qa等每個環境,我都有相應的app.config。但是,當我發佈解決方案時,它不會根據環境轉換app.config。你有什麼想法可以做到嗎?在Asp.Net中轉換app.config文件核心解決方案發布?

+0

https://www.nuget.org/packages/SlowCheetah –

+0

如何爲每個環境加載app.config?你是什​​麼意思「轉換」 – DOMZE

+0

我右鍵單擊app.config文件並選擇「添加配置轉換」。它爲每個環境生成一個配置文件,當我右鍵單擊其中一個並選擇Preview cpnfig transform或類似的東西時,我甚至可以看到更改。但是當我發佈時,它不會根據環境 – Alina

回答

0

我想出的解決方案是添加一個後期構建命令,將轉換後的Web配置複製到MyProject.exe.config的頂部。爲了這個工作,你需要將程序集重定向從你的app.config(輸出)複製到你的web.config中。那麼你只需要一個配置文件。這不是一個很好的解決方案,我將實現一種不同的方式來使用appSettings.json引用wcf連接,並在C#代碼中創建客戶端,但這種方式現在可行。在我們的持續集成構建中,我有一個powershell命令,在構建完成後執行相同的命令。另一個警告:我正在部署到IIS並需要web.config身份驗證設置(對於Windows身份驗證),因此我必須確保web.config和MyProject.exe.config都已部署。這最終成爲相同的文件,IIS使用它需要的peices以及WCF客戶端構建器使用它所需的部分。我們再也不會長期使用它了,我會建議以編程方式構建WCF客戶端。

更新:我使用appsettings.json來包含基於環境的設置,並添加了一種方法來使用.netStandard中的system.servicemodel類連接到wcf。它工作得很好!

相關問題