簡體   English   中英

重命名Web.config以運行轉換會中斷nuget軟件包的安裝

[英]Renaming Web.config to run transforms breaks nuget package installation

我有一個簡單的場景,我有我的Web.config,然后有一個Web.Release.config,當我將其部署到生產環境時,我想用它來轉換Web.config。 僅當您在VS中發布並且我沒有使用VS進行部署,而是使用外部源代碼控制以及巡航控制來構建和部署時,轉換才會自動運行。

我已經看到了解決此問題的幾種方法:

1)使用基本的web.config文件(Web.base.config),以便在構建過程中通過修改項目文件可以覆蓋Web.config文件。 2)安裝處理此問題的擴展程序3)在巡航控制內導入目標,並與手動運行轉換的#1本質上執行相同的操作,但這仍然需要與目標web.config分開的基本配置文件

所有這些的問題是我必須重命名我的web.config(例如重命名為Web.base.config),或者我必須將Web配置移動到另一個目錄,以便一旦發生轉換,它就不會覆蓋我的目錄。基本(原始)web.config。

如果這樣做,那么當我安裝/更新任何修改web.config的nuget程序包時,它將把更改添加到Web.config中,每次更改真正發生時,當確實需要將更改應用於基礎時,該更改都會被覆蓋。網絡配置。

我到處搜索,沒有人提到這是一個問題。 我想念什么嗎? 我希望有人可以提供不需要更改原始Web.config文件名/位置的解決方案。

這是因為轉換任務本身會鎖定web.config。

我相信最簡單的解決方案是在轉換之前使用復制任務並將您的配置復制到web.config.copy。 然后將您的web.config.copy轉換為web.config.transformed,然后將其復制回web.config。

復制任務可以覆蓋只讀,因此源控制文件不會有任何問題

暫無
暫無

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

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