Vin*_*cio 5 c# visual-studio-2010
我有一个使用 web.debug.config 文件转换的 web.config 文件。尝试通过 System.Configuration.ConfigurationManager.AppSettings 访问这些值并没有产生任何结果。
我的 web.config appSettings 是空的。
<configuration>
<appSettings>
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我应用的 web.debug.config 转换。这是一个示例。
<configuration>
<appSettings>
<add key="CommonURL" value="localhost/mysite/" xdt:Transform="Insert" />
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这是尝试获取此值的代码,该值返回 null。
var cu = System.Configuration.ConfigurationManager.AppSettings["CommonURL"];
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?
假设当System.Configuration.ConfigurationManager.AppSettings您从 Visual Studio 运行时没有产生任何结果,那么这就是预期的行为。您应该将CommonURLappSetting 添加到您的web.config文件中并将其中的条目更改web.debug.config为:
<add key="CommonURL" value="localhost/mysite/"
xdt:Transform="Replace" xdt:Locator="Match(key)" />
Run Code Online (Sandbox Code Playgroud)
这些更改将允许您获取在web.config从 Visual Studio 运行时指定的值,并且允许将该值替换为在web.debug.config执行转换时定义的值(例如,通过 Publish 函数或通过自定义MSBuild 脚本)。请记住,转换是在您发布时应用的,而不是在您开始运行调试或发布版本时应用的。web.config 文件中的值始终是受尊重的值。
| 归档时间: |
|
| 查看次数: |
5232 次 |
| 最近记录: |