2013-12-14 114 views
0

我有一個Asp.Net MVC 5網站。我以前發佈過許多PHP網站,但這是我第一次嘗試部署Asp.Net MVC網站。以下是我部署網站的步驟:在沒有dbDacFx的情況下部署Visual Studio

  1. 我去了我的主機面板,創建了一個網站並更改了它的設置。
  2. 我創建了一個數據庫用戶和一個數據庫,並將該用戶添加到該數據庫。
  3. 然後我去了一個名爲「Web Publishing」的標籤並點擊下載此網站的發佈信息
  4. 進入Visual Studio,右鍵單擊項目名稱,單擊「發佈」選項,然後導入下載的文件。點擊下一步,但數據庫的連接字符串不存在。
  5. 我用Notepad ++打開了文件,並將連接字符串複製到我的數據庫上下文中。點擊兩個複選框「使用此連接...」和「執行代碼第一個遷移....」。而其他連接都「更新數據庫」和「使用...」
  6. 在我跑的發佈,但它失敗,此消息:

Unable to perform the operation. Please contact your server administrator to check authorization and delegation settings.

您如何看待這個問題?

另外,有沒有辦法,我可以手動部署這個網站與Visual Studio所做的所有配置(例如捆綁CSS和JS文件,更新web.config等)?

+1

爲什麼downvote? –

回答

1

聽起來您的項目中有兩種類型的數據庫。一個使用EF Code First,另一個使用常規的SQL數據庫。它是使用dbDacFx的後者,這是Web Deploy附帶的一項功能。您的主機必須爲dbDacFx提供一些配置設置才能正常工作,而且似乎它們沒有。

(作爲一種解決辦法,如果你可以從你自己的機器直接連接到數據庫,就可以部署到您的計算機並保持dbDacFx設置,它會影響數據庫服務器上的變化。)

附註:EF Code First僅在運行時發生,因此不會以任何方式影響發佈過程。

至於你的第二個問題:VS中的發佈功能通過MSBuild完成所有工作。配置好配置文件後,您可以通過命令行執行相同的操作,例如

msbuild MyProject.csproj /p:DeployOnBuild=true;PublishProfile=MyProfileName 
+0

祝您早日發佈此答案。我花了幾乎整整一天的時間來玩這些設置,改變了每一個選項,最終我做到了這一點!我首先通過FTP上傳內容,然後將項目的連接字符串更改爲遠程數據庫並運行初始化程序。它工作完美。 –

相關問題