2014-12-05 85 views
5

我知道如何選擇要複製到我的構建的輸出目錄的文件,通過Properties => Copy Always,但我一直無法根據構建類型找到複製不同文件的方法。我有兩個單獨的配置文件,一個設置爲本地開發(即應該在調試版本上覆制)和一個爲服務器環境設置(即應該在發佈版本上覆制)。將不同的文件複製到輸出目錄進行發佈和調試?

有誰知道如何實現這種類型的條件功能?

+1

檢查在頁面底部的答案羅密歐:http://stackoverflow.com/questions/8082662/how-to-select-different-app-config-for-several-build-configurations – Bayeni 2014-12-05 14:24:18

+0

我會嘗試,但它看起來主要是VS app.config文件。這將工作複製我自己的自定義配置文件,我的應用程序讀取? – PseudoPsyche 2014-12-05 14:28:03

+0

這是一個將在IIS內運行的應用程序嗎? (有些功能是我知道的,但是它們只能用於ASP.NET和類似的項目) – 2014-12-05 14:37:30

回答

5

目前我已經在這個崗位使用應答輕微修改後的版本達到了預期的功能,@Bayeni共享:https://stackoverflow.com/a/8083060/1428743

目前這個工作對我來說,但如果有一個更好的方式去這請讓我知道。

<ItemGroup Condition=" '$(Configuration)' == 'Debug' "> 
    <Content Include="local.cfg"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    </ItemGroup> 
    <ItemGroup Condition=" '$(Configuration)' == 'Release' "> 
    <Content Include="release.cfg"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    </ItemGroup> 
+0

這樣做的一個問題是這將複製兩個不同的文件名稱到目標目錄。 – 2014-12-05 14:54:09

+0

我目前正在使用預處理器指令來處理,以根據構建類型選擇適當的配置文件。 – PseudoPsyche 2014-12-05 14:55:31

0

爲什麼不使用PostBuild事件並調用xCopy來複制所需的文件?

+0

對於由@Bayeni共享的帖子中建議的方法,是否有任何好處?用文件添加條件化的'Item Group'條目包含'.csproj'文件? – PseudoPsyche 2014-12-05 14:44:42

+0

我對這個問題添加了一個答案,以顯示目前正在爲我工​​作的方法。如果您提出的解決方案有任何好處,請發表評論。 – PseudoPsyche 2014-12-05 14:50:48

+0

它類似於''選項,但你必須選擇調用一些程序(xCopy)並獲得一些輸出(比如說一個日誌文件) – Chris 2014-12-05 14:52:20

相關問題