2014-03-03 76 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文件中的名称。