在asp.net IIS服务器中发布后编辑Web.Config

时间:2015-10-24 05:22:23

标签: c# asp.net iis

我在c#,asp.net web应用程序中开发了一个应用程序(仅在我们公司内部使用),最后在为此目的分配的服务器PC(不同的主机和端口)中部署应用程序。

当我在我的电脑上开发或维护应用程序时,拥有不同的主机和端口,每当我需要发布即时更改web.config中的连接字符串并在服务器PC中复制app文件夹时,interpub-> wwwroot

是否有任何选项可以避免每次更改?即,对于发布我将使用单独的web.config和开发工作我使用单独的web.config。

Server PC- web.config,连接字符串:

  <connectionStrings>
    <add name="MySqlConnectionString" connectionString="server=192.168.3.5;user id=root;password=sim;database=simpayroll;allowuservariables=True;port=3306"
      providerName="MySql.Data.MySqlClient" />
    <add name="simpayrollConnectionString" connectionString="server=192.168.3.5;user id=root;port=3306;password=sim;database=simpayroll;persistsecurityinfo=True;allowuservariables=True"
      providerName="MySql.Data.MySqlClient" />    
  </connectionStrings>

我的本​​地Web.config

  <connectionStrings>
    <add name="MySqlConnectionString" connectionString="server=localhost;user id=root;password=root;database=simpayroll;allowuservariables=True;port=3306"
      providerName="MySql.Data.MySqlClient" />
    <add name="simpayrollConnectionString" connectionString="server=localhost;user id=root;port=3306;password=root;database=simpayroll;persistsecurityinfo=True;allowuservariables=True"
      providerName="MySql.Data.MySqlClient" />
  </connectionStrings>

1 个答案:

答案 0 :(得分:1)

您可以使用web.config transformations来解决问题

Web.Release.Config 文件中,

<connectionStrings xdt:transform="Replace"> <add name="MySqlConnectionString" connectionString="your connection string" providerName="MySql.Data.MySqlClient" /> <add name="simpayrollConnectionString" connectionString="your connection string" providerName="MySql.Data.MySqlClient" /> </connectionStrings>