2014-03-03 74 views
0

我有這個奇怪的問題,我似乎無法弄清楚。我開發了這個WPF應用程序,它有兩個配置文件,一個用於調試,另一個用於發佈。當我以調試模式運行應用程序時,它將連接到開發數據庫,​​如同它應該和在Release中一樣,它連接到prod數據庫,並按照它應有的運行良好。但是,當我以發佈模式發佈應用程序時,我將啓動可執行文件,並將其運行,就好像它在調試模式下一樣,並將其連接建立到開發數據庫。發佈在發佈模式下,出版與調試配置

我放在後生成事件命令行下面的代碼:

if "Debug"=="$(ConfigurationName)" goto :nocopy 
del "$(TargetPath).config" 
copy "$(ProjectDir)\Release.config" "$(TargetPath).config" 

,並複製粘貼我debug.config文件,我將release.config,只是改變了我的連接字符串中釋放我的配置連接到我prod數據庫。

這怎麼可能,它工作正常,當我調試的兩種模式,但是當我在Release模式發佈它使用的調試配置信息?任何幫助將不勝感激。

更新

當我發表我做的是對我的項目點擊右鍵,選擇發佈,並遍歷嚮導。我檢查了項目屬性下的發佈標籤,並且配置變灰,並設置爲N/A。但是,在調試選項卡下,可以在調試和發佈之間選擇配置。

+0

您是否正在使用網絡配置轉換? http://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx –

+0

看上面我在發佈設置提出了一些進一步的解釋@ColinBacon – kknaguib

回答

0

檢查您的發佈設置,並確保配置設置爲Release,而不是Debug

+0

我的配置設置爲N/A和是灰色的,這是否有什麼關係的事實,我使用VS 2013 @Colin培根 – kknaguib

+0

的Express版本所以,當你創建一個新的發佈配置它不會讓你更改設置?你可以請更新你的問題與更多的信息,你如何發佈@kknaguib –

+0

請檢查更新@Collin培根 – kknaguib

0

有一件事要驗證的是,你選擇「發佈」嚮導,不僅在視覺工作室。下圖顯示了兩者。

enter image description here

否則,您web.release.config轉換有可能是一個錯誤。你可以從你的web.release.config文件發佈部分?看起來像這樣(像往常一樣,隱藏在數據源,數據庫名稱,用戶名和密碼):

<connectionStrings> 
    <add name="fbConnection" 
     connectionString="Data Source=mydatasource;Initial Catalog=myDataBaseName;User ID=MyUserName;Password=myPassword" providerName="System.Data.SqlClient" 
     xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> 
    </connectionStrings> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 

最可能的錯誤是名部分(添加名稱=「則connectionName」 ......)有錯字,並且不匹配web.config文件中的名稱。