27

在将网站部署到运行IIS7的Windows 2008 R2服务器时出现问题。我以前已经将其他站点部署到此服务器。 Web部署正在连接并将我的文件复制到服务器,但我看到以下错误。VS2010 web部署连接字符串参数不能为空或空

1 The 'Connection String' argument cannot be null or empty 
2 Web deployment task failed.((20/07/2012 14:19:16) An error occurred when the request was processed on the remote computer.) 

(20/07/2012 14:19:16) An error occurred when the request was processed on the remote computer. Could not find a part of the path 'C:\Users\Me\Documents\Visual Studio 2010\Projects\MySite\MySiteClient\obj\Release\AutoScripts\EFDbContext-Deployment_SchemaOnly.sql'.  0 0 MySiteClient 

我已验证路径存在于本地机器上。

我已经尝试发布出web.config变换并使用xdt:transform函数来设置远程服务器字符串。

我还在Package/Publish SQL选项卡中明确设置了目标数据库和源数据库的连接字符串,并且不知道是什么问题。

任何想法?

+0

完整的用户错误。从我的Web配置导入后,我有两个数据库条目ApplicationServices和MyAppContext。我为第一个应用程序设置连接字符串,但不是为MyAppContext条目设置连接字符串。认为我忽略了这一点,因为我没有意识到连接字符串输入框随着数据库列表框中的选定条目而改变。 doh ..... – MPD 2012-07-24 10:00:24

回答

44

这是发生在我身上,我设法隔离问题...手动添加一个新的SQL Server连接字符串在我的Web.config我试图部署到远程服务器时开始遇到这个非常错误。

当我打开Web部署的Visual Studio 2012我,它已经设置这个选项的Settings选项卡下注意到发布的个人资料:在运行时使用此连接字符串(更新目的地的Web.config)

奇怪的是,这是设置自动VS 2012 ...

为了解决这个问题,只需取消选中该复选框,网络部署应该重新开始工作。

enter image description here

+4

另外,如果上述步骤不起作用:删除发布配置文件,然后按照上面的步骤操作,并且应该修复它。快乐编码每个人! – 2013-06-10 17:55:28

+1

非常感谢...! – Luftwaffe 2015-04-09 16:25:09

+0

谢谢,这篇文章帮了我很多,并节省了我的时间。 – 2017-07-06 08:41:22

14

除了Leniel的回答,如果你不使用的SqlClient或实体框架代码第一次,因而没有看到该复选框(ES),暂时你的web.config的连接字符串中设置的providerName到System.Data.SqlClient,然后返回到发布设置以取消选中复选框。

+0

感谢您的使用,我使用的是Windows Azure存储连接字符串,并且必须按照您的说法进行操作(更改为System.Data.SqlClient,然后重新保存发布设置)以清除此错误。 – QFDev 2013-12-13 22:33:31

+0

我在Azure上使用MySql,并且我有providerName =“MySQL Data Provider”,并且在部署后仍出现错误。 (并且在部署页面上不显示复选框)。 你能帮忙吗? – Bergkamp 2014-03-17 14:36:36

+0

您是否尝试在打开部署页面之前先将providerName更改为“System.Data.SqlClient”? – 2014-03-19 16:32:53

0

当我将Web应用程序部署到Azure Web服务器时,我遇到了同样的问题。我通过创建一个新的服务器来解决它。在这一点上,我意识到之前在该服务器上还有另一个应用程序。该应用程序使用了第二个应用程序没有过度使用的上下文名称,这样一个应用程序就会继续查找第二个应用程序过度使用的连接字符串。我假设清理你的服务器可能会解决问题。

12

我有同样的问题:

2> C:... \ Microsoft.Web.Publishing.targets(4270,5):错误: 'DB-的Web.config连接字符串'参数不能为空或为空。 2> C:... \ Microsoft.Web.Publishing.targets(4270,5):错误:'dbAudit-Web.config连接字符串'参数不能为空或空。 2> C:... \ Microsoft.Web.Publishing.targets(4270,5):错误:'dbLog-Web.config连接字符串'参数不能为空或空。

为我所用:

<connectionStrings> 
    <add name="db" providerName="MySql.Data" connectionString="server=mysql.gko.local;user=maindk;database=gavekortet;port=3306;password=123456" /> 
    <add name="dbLog" providerName="MySql.Data" connectionString="server=mysql.gko.local;user=maindk;database=logs;port=3306;password=123456" /> 
    <add name="dbAudit" providerName="MySql.Data" connectionString="server=mysql.gko.local;user=maindk;database=audit;port=3306;password=123456;pooling=false" /> 
</connectionStrings> 

,当我读到这里的问题是关于发布配置,然后我打开了.pubxml文件,我发现:

<ItemGroup> 
    <MSDeployParameterValue Include="$(DeployParameterPrefix)db-Web.config Connection String" /> 
    <MSDeployParameterValue Include="$(DeployParameterPrefix)dbAudit-Web.config Connection String" /> 
    <MSDeployParameterValue Include="$(DeployParameterPrefix)dbLog-Web.config Connection String" /> 
</ItemGroup> 

<UpdateDestWebConfig>False</UpdateDestWebConfig>添加到每个节点,因此它将变为:

<ItemGroup> 
<MSDeployParameterValue Include="$(DeployParameterPrefix)db-Web.config Connection String"> 
    <UpdateDestWebConfig>False</UpdateDestWebConfig> 
</MSDeployParameterValue> 
<MSDeployParameterValue Include="$(DeployParameterPrefix)dbAudit-Web.config Connection String"> 
    <UpdateDestWebConfig>False</UpdateDestWebConfig> 
</MSDeployParameterValue> 
<MSDeployParameterValue Include="$(DeployParameterPrefix)dbLog-Web.config Connection String"> 
    <UpdateDestWebConfig>False</UpdateDestWebConfig> 
</MSDeployParameterValue> 
</ItemGroup> 

只需删除该条目,一切都工作了......

+2

Aweseome,很棒! – Sundeep 2015-05-26 19:26:00

3

没有提供的解决方案的帮助了我。

我终于发现,我在当地Web.config,有一个叫LocalMySqlServer一个空的默认连接字符串(可能是由Mysql.Data NuGet包放在那里)。

当我删除下面突出显示的行后,我能够成功发布。

enter image description here

+1

似乎重新安装它所安装的所有软件包后都会有一个空的连接条目。这是解决方法,谢谢。 ;)我一直在看发布配置文件,但当然MS错误很少有帮助。 ;) – 2016-11-04 20:38:29

相关问题