【问题标题】:How will be visual studio deployment scnerioVisual Studio 部署方案将如何
【发布时间】:2017-04-13 01:59:31
【问题描述】:

我为我的项目进行了部署。例如,我正在 Visual Studio 上开发一个 asp.net web api 或 asp.net mvc 项目。我为 ssl 使用本地数据库和本地文件用户名和密码。我完成了开发并在我的本地 iis 服务器上发布它并查看正在运行的应用程序。本地 iis 测试后,我将其加载到服务器,但有时会忘记更改 web.config 设置、连接字符串、ssl 证书路径和密码。因此用户访问的工作服务器应用程序失败。我该如何解决这个问题?

【问题讨论】:

    标签: asp.net asp.net-mvc visual-studio iis visual-studio-2013


    【解决方案1】:

    我所做的是使用 Transform

    替换 Web.Release.config 中的配置

    例如,如果在我的 Web.config 我有以下连接字符串:

    <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\sample.mdf;Initial Catalog=sample;Integrated Security=True" providerName="System.Data.SqlClient" />
    </connectionStrings>
    

    在我的 Web.Replace.config 中,我像这样更新用于生产的 connectionString:

    <connectionStrings xdt:Transform="Replace">
    <add name="DefaultConnection" connectionString="SERVER_CONNECTION" providerName="System.Data.SqlClient" />
    </connectionStrings>
    

    请记住,我在 Web.Replace.config 中所做的转换仅适用于您发布您的网络应用程序。您无法通过仅在调试/发布模式下运行应用程序来在本地对其进行测试

    【讨论】:

      【解决方案2】:

      您应该实现 Web.Config 转换。检查此MSDN link 了解更多信息。 简单概括一下——通过实施 Web.config 转换,您的项目将拥有不同的 Web.Config 文件(例如,Web.config、Web.Live.config、Web.PreProd.Config 等),即每个不同的文件用于不同的构建配置。主 web.config 应保持原样。它只是您需要指定要覆盖的配置的其他配置文件。完成后,如果您使用特定的构建配置进行发布,那么新生成的 web.config(在发布文件夹中)应该包含来自 web.config 的所有配置以及您在转换后的文件中为该构建配置指定的差异。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-04
        • 2015-04-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多