我有一个ASP.Net应用程序。我为Web.config文件创建了转换,以生成Web.Debug.config和Web.Release.config。不幸的是,我无法在运行时获取代码来读取这些变换。这是解读.config文件的代码片段:
protected void Page_Load(object sender, EventArgs e)
{
Logger logger = LogManager.GetCurrentClassLogger();
string config = ConfigurationManager.AppSettings["Configuration"];
Label1.Text = string.Format("Configuration application string = \"{0}\"", config);
以下是原始Web.config文件的片段:
<configuration>
<appSettings>
<add key="Configuration" value="Default"/>
</appSettings>
这里是Web.Release.config文件中的相应代码段:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings xdt:Transform="Replace">
<add key="Configuration" value="Release"/>
</appSettings>
当我预览变换时,一切都很好(即,我看到&#34; Configuration&#34;的值是&#34; Release&#34;)。但是,当我构建,发布和运行它时,我会得到默认值。
我在其他地方读到变换不是在构建上工作,而是在发布上工作,但是我发布到C:\ inetpub \ wwwroot。当我查看Web.config文件时,它确实说&#34;发布&#34;。我运行程序时为什么不显示? (这是Windows 7 Professional和VS2013。)