我遇到了识别SQL的Web Deploy包的问题。我正在使用Visual Studio 2015,SQL Server 2014,SSDT数据库项目。工作流是,创建MVC项目,创建数据库项目,并使用Web Deploy Package在DB项目上运行SQL查询。我计划将MVC项目发布到Web部署包中,并将查询作为包的一部分添加到部署中。 (我现在没有尝试DACPAC,因为我遇到了使用Web Deploy Tool时不包括部署前后脚本的问题。)
使用下面的连接字符串发布Web部署包时会出现问题。
<connectionStrings configSource="connectionsettings.config">
web.config中的内容阻止Web部署检测到要添加到Web包以进行Web部署打包的数据库。
deloy package missing database
每当我更改为正常的连接字符串时,即使是这样简单的事情:
<connectionStrings>
<add name="Default" connectionString="" providerName="System.Data.SqlClient" />
然后Web部署包工作,您就可以获得正确的UI。
任何人都知道如何使用web.config connectionstrings中的configsource显示数据库?作为替代方案,我正在考虑使用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?
答案 0 :(得分:0)
使用WebDeploy参数化手动为单独的配置文件创建参数。
在以下链接中略到“步骤3 - 创建参数文件”:
http://www.iis.net/learn/publish/using-web-deploy/web-deploy-parameterization
这也可能有所帮助:
http://www.dotnetcatch.com/2014/09/08/parameterizationpreview-visual-studio-extension/