为什么我的IIS站点特定的应用程序设置消失了?

时间:2014-11-06 21:30:06

标签: c# asp.net iis app-config webdeploy

我在Windows Server上使用IIS托管ASP.NET C#网站。我使用Web Deploy发布到IIS服务器。我有几个应用程序设置,我通过IIS特定于站点的应用程序设置配置 - 主要是我不想在项目本身的app.config中以纯文本形式显示的密码。每次我发布时,我通过IIS创建的设置都会消失。我认为发布是在写它们。我无法弄清楚如何让他们坚持通过出版物。有没有人知道如何通过Web Deploy发布来保持IIS应用程序设置?

2 个答案:

答案 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使用此构建配置 这就是我通常的做法