0

我很喜歡.NET配置轉換。我現在將它們放置在一個用於數據使用的類庫和一個WPF應用程序中。WebAPI項目似乎沒有將轉換後的web.config發佈到bin文件夾中?

但是,當我嘗試使用ASP.NET WebAPI項目設置它們時,似乎發生了一些奇怪的事情。

配置文件從不出現在我的bin目錄中,所以web.config始終顯示爲預先形成的配置文件。

如果我的 「/噸:TransformWebConfig/pConfiguration =測試」 參數運行MSBUILD上的csproj,我看到以下內容:

CollectWebConfigsToTransform:實測值用於配置 改造的探討以下:區域\ HelpPage \ Views \ Web.config,Web.config, Views \ Web.config,bin \ Web.config PreTransformWebConfig:跳過複製 Web.config到obj \ Test \ TransformWebConfig \ original \ Web.config,文件 obj \ Test \ TransformWebConfig \ original \ Web.config是最新的Skip 複製C:\ Users \ killesj1 \ Repositories \ MRP Trunk \ Macro Projects \ V EUploader \ src \ app \ VEUploader.WebAPI \ Web.config改爲 obj \ Test \ TransformWebConfig \ original \ bin \ Web.config,文件 obj \ Test \ TransformWebConfig \ original \ bin \ Web。 config是最新的 TransformWebConfigCore:跳過目標「TransformWebConfigCore」 ,因爲所有輸出文件都相對於輸入文件 是最新的。 TransformWebConfigCore:跳過目標 「TransformWebConfigCore」,因爲所有輸出文件都與輸入文件相關的最新 。 PostTransformWebConfig:轉換爲 Web.config使用Web.Test.config轉換爲 obj \ Test \ TransformWebConfig \ transformed \ Web.config。已轉換 C:\ Users \ killesj1 \ Repositories \ MRP Trunk \ Macro Projects \ VEUploader \ src \ app \ VEUploader.WebAPI \ Web.config using C:\ Users \ killesj1 \ Repositories \ MRP Trunk \ Macro Projects \ VEUploader \ src \ app \ VEUploader.WebAPI \ Web.Test .config轉換爲 obj \ Test \ TransformWebConfig \ transformed \ bin \ Web.config。

看來,轉型是tranforming文件,但不知何故,它沒有做它的方式返回到bin目錄,其中老的Web.config仍然存在。

這是正常的嗎?我怎樣才能讓它的行爲與其他網頁轉換類似?

+0

我想一個更好的方式來短語,這是「有沒有與此不被輸出到bin目錄的問題嗎?「當我在Visual Studio中進行」預覽轉換「時,它看起來完美地顯示出來了。當我在這裏等待專業知識時,我會寫一個快速方法來查看它是否指新值。 – SeanKilleen

+0

好吧,那麼我嘗試了一個快速方法,它只是返回一個配置設置,它看起來仍然使用未轉換的web.config。不知道爲什麼一切都會工作,除了最終複製到原始文件? – SeanKilleen

回答

0

我有一個類似的問題,在Appveyor上部署測試項目,沒有被轉換,並按照下面的鏈接建議,現在一切正常。我將所有項目設置爲在[Target Name =「AfterBuild」]中執行xxx.config變換,並且它在我的本地開發機器上完美工作,但是將代碼推送到Appveyor時,測試會因爲未轉換的文件等而失敗。基本上,將所有內容移到[Target Name =「BeforeBuild」],看看是否有幫助。

MSBuild - how to force "AfterBuild" target when I do deployment?

相關問題