2013-12-14 112 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上传内容,然后将项目的连接字符串更改为远程数据库并运行初始化程序。它工作完美。 –

相关问题