0

我遇到了识别 SQL 的 Web 部署包的问题。我正在使用 Visual Studio 2015、SQL Server 2014、SSDT 数据库项目。工作流程是,创建一个 MVC 项目,创建一个数据库项目,并使用 Web 部署包在 DB 项目上运行 SQL 查询。我计划将 MVC 项目发布到 Web 部署包中,并将查询作为包的一部分添加到部署中。(我目前没有尝试 DACPAC,因为我遇到了在使用 Web 部署工具时它们不包括部署前和部署后脚本的问题)。

使用下面的连接字符串发布 Web 部署包时会出现问题。

  <connectionStrings configSource="connectionsettings.config">

web.config 中的那个会阻止 web deploy 检测数据库以添加到 web 包中以进行 web 部署打包。

deloy 软件包缺少数据库

每当我更改为普通的连接字符串时,即使是这样简单的事情:

  <connectionStrings>
<add name="Default" connectionString="" providerName="System.Data.SqlClient" />

然后 web 部署包工作,你得到正确的 UI。

部署包工作

任何人都知道如何使用 web.config 连接字符串中的配置源显示数据库?作为替代方案,我正在考虑获取 parameters.xml 以替换空白连接字符串以包含上面的 configSource,但没有运气。

想法是删除默认连接并将其替换为配置源。删除默认连接有效,但 configSource 无效。

  <parameter name="RemoveConnectionString" defaultValue="">
    <parameterValidation kind="AllowEmpty" />
    <parameterEntry kind="XmlFile"
      scope="Web\.config$"
      match="//configuration/connectionStrings/add[@name='Default']" />
  </parameter>

  <parameter name="AddConfigSource" defaultValue="connectionsettings.config">
    <parameterEntry kind="XmlFile"
      scope="\\web.config$"
      match="/configuration/connectionStrings/@configSource" />
  </parameter>

Web 部署包似乎未针对 SQL 开发,但是否有解决我的问题或更好的方法来为 IIS 和 SQL 进行一体化部署?

4

1 回答 1

0

使用 WebDeploy Parameterization 为单独的配置文件手动创建参数。

跳至以下链接中的“步骤 3 - 创建参数文件”:

http://www.iis.net/learn/publish/using-web-deploy/web-deploy-parameterization

这也可能有帮助:

http://www.dotnetcatch.com/2014/09/08/parameterizationpreview-visual-studio-extension/

于 2016-06-16T11:13:51.860 回答