我最近开始在服务器和 Visual Studio 2012 上使用带有 IIS 7 的 Web 部署。我的项目是一个 ASP.Net MVC 3 Web 应用程序。
我已经正确设置了所有内容并且发布工作正常,并且我获得了所需的连接字符串转换,以便目标服务器可以访问正确的数据库。
但是,有几个 appSettings
需要在服务器上不同于用于在本地机器上开发的值。
假设对于这个示例,我有一个开发 web.config ,其中包含以下内容:
<appSettings>
<add key="CommonName" value="AlwaysTheSame" />
<add key="VariableName" value="LocalValue" />
<appSettings>
当它发布时,我希望它在服务器上如下所示:
<appSettings>
<add key="CommonName" value="AlwaysTheSame" />
<add key="VariableName" value="ServerValue" />
<appSettings>
我想我需要更改
.pubxml
中的某些内容在 Properties > PublishProfiles
中找到的文件文件夹,因为这似乎是连接字符串的更改方式。但是,我没有找到有关如何修改此文件以满足我的需要的任何有用信息。我需要做哪些改变?
最佳答案
您可以使用配置转换,它允许您针对不同环境拥有多个版本的配置文件:
然后在发布时,您选择您的环境,这将使用特定于环境的配置覆盖 web.config。
为了在不同的部署类型中保持一个值一致,您可以将其存储在主 web.config
中。 ,并将其他存储在 web.live.config
中等等。
有关配置转换的更多信息,请阅读 Vishal R. Joshi 的这篇精彩博文:
http://blogs.msdn.com/b/webdev/archive/2009/05/04/web-deployment-web-config-transformation.aspx
关于asp.net - 在 VS 2012 中使用 Web Deploy 指定不同的 appSettings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13266861/