我在Windows Server上使用IIS托管ASP.NET C#网站。我使用Web Deploy发布到IIS服务器。我有几个应用程序设置,我通过IIS特定于站点的应用程序设置配置 - 主要是我不想在项目本身的app.config中以纯文本形式显示的密码。每次我发布时,我通过IIS创建的设置都会消失。我认为发布是在写它们。我无法弄清楚如何让他们坚持通过出版物。有没有人知道如何通过Web Deploy发布来保持IIS应用程序设置?
答案 0 :(得分:1)
不确定这是否解决了您的问题,但您可以尝试这样的事情:
每个配置部分都有一个名为“configSource”的可选属性 指向外部文件。因此,您可以分解您的web.config 分成几个文件并按照它们更新:
的web.config:
...
<configuration>
<appSettings/>
<connectionStrings configSource="connectionStrings.config"/>
<system.web>
...
connectionStrings.config:
<connectionStrings>
<add name="defaultConnectionString" connectionString="..." providerName="System.Data.SqlClient" />
</connectionStrings>
然后你可以将connectionString.config设置为不包含在项目的输出中,只是在服务器上保持不变。
答案 1 :(得分:0)
您还可以: - 为部署创建新的构建配置 - 为此构建配置添加了web.config转换 -deploy使用此构建配置 这就是我通常的做法