我可以将设置存储在ASP.NET MVC中的settings.config文件中吗

本文关键字:settings 中的 config 文件 MVC NET 设置 存储 ASP 我可以 | 更新日期: 2023-09-27 18:19:32

我使用的是.NET MVC

我想在配置文件(.config等)中存储大约10个属性,这些属性与环境/部署内容有关,以及其他内容,以便在不进行dLL部署的情况下进行快速更改。

我使用Team foundation服务进行CI构建等,我的web.config显然处于版本控制之下。

我想做的是有一个settings.config(不在版本控制中)文件来存储这些,我能做到吗?

或者它需要在web.config中?

我可以将设置存储在ASP.NET MVC中的settings.config文件中吗

要回答标题问题,可以将设置存储在单独的配置文件中,为此需要定义appSettings元素的configSource属性

例如

<appSettings configSource="settings.config" />

和在settings.config文件中

<?xml version="1.0" encoding="UTF-8"?>
<appSettings>
    <add key="settingKey" value="environmentValue" />
</appSettings>

但是,为了进行特定于环境的设置,您可能需要查看配置转换。为每个环境设置一个转换配置,然后使用指定的生成配置部署到该环境。

例如Web.Dev.config(前提是您设置了"开发人员"构建配置)

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings>
    <add key="settingKey" 
      value="devEnvironmentValue" 
      xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
  </appSettings>
</configuration>

有关构建配置和配置转换的更多详细信息,请点击此处:http://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx

或者,您可以利用TFS功能并参数化环境变量,我对此没有太多经验,但以下内容应该会有所帮助:http://ig.obsglobal.com/2013/02/tfs-and-continuous-deployment-part-4-parameterized-deployments/