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

相關問題