2012-01-05 48 views
1

我使用这个代码(在我的DAL项目):Web.config文件和不同的配置missmatch

ConfigurationManager.AppSettings["server"]

访问web.config文件appSettings部分(从Web项目):

<appSettings> 
<add key="server" value="server.name.com"/> 
<add key="database" value="databasename"/> 
</appSettings> 

,并在Web.Debug.config我使用的是下面的转型

<add key="server" value="MY-LAPTOP" 
    xdt:Locator="Match(key)" xdt:Transform="Replace"/> 

之后,当我启动应用程序时,配置文件未被转换。第一行代码返回未转换的信息。代码有什么问题?我错过了什么?

我试图发布它,当我检查配置文件时,一切都是好的,它是更好的选择。

+1

你会得到一个运行时错误?你怎么知道它没有改变?有什么证据能引导你呢?你能给我们提供更多关于你如何进行转型的信息吗? – MacGyver 2012-01-05 00:48:56

+0

对于转换,我在web.debug.config中使用了该代码(第3个),并且已经测试了它看起来ConfigurationManager返回的内容(第1代码)。在所有配置设置中,它返回“server.name.com” – Ante 2012-01-05 00:56:49

回答

1

web.config转换仅在发布过程中执行。您仍然可以启用它每次构建,当你把它F5,看

这是一个MSBuild任务的补充。

+0

有趣!那么,我怎样才能确保不同的开发人员能够以不妨碍源代码控制的方式进行自己的设置? – Ante 2012-01-05 01:08:47

+1

@安特B.你可以看到[Visual Studio 2010 - Per Developer/machine/environment Web.Config settings](http://stackoverflow.com/questions/5953666/visual-studio-2010-per-developer-machine-环境 - 网络配置的设置), – 2012-01-05 03:38:34

相关问题