我在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>
答案 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>