将我的应用程序部署到Azure时出现问题

时间:2011-02-20 06:41:40

标签: azure

我刚刚创建了一个Windows Azure帐户。当我尝试从VS2010部署时,我收到以下消息,这些消息只是不断重复:

2:17:43 PM - 警告:所有角色实例已停止

2:18:23 PM - 角色MvcApplication1的实例0正忙

2:18:59 PM - 角色MvcApplication1的实例0已停止

2:18:59 PM - 警告:角色MvcApplication1的实例0似乎正在循环而无法启动。

2:32:44 PM - 警告:所有角色实例已停止

2:33:17 PM - 警告:所有角色实例已停止

2:33:49 PM - 角色MvcApplication1的实例0正忙

有谁知道我如何调试或发现什么是错的?我不知道该做什么。

3 个答案:

答案 0 :(得分:6)

我自己遇到了这个问题。我不得不在发布时没有将程序集打包在我的服务中。使用以下步骤解决此问题:

1 - 将所有可部署的依赖项添加到项目中

使用VS2010 SP1中的"Add Deployable Dependencies"功能,并在Scott Hanselman的博文中提到BIN Deploying(请参阅帖子底部的“有趣的说明”)。

基本上,右键单击您的项目,您将在“添加”部分中看到它。将弹出一个对话框,其中包含3个选项(在我的情况下,2个可访问)。选择它们之后,将在项目中添加一个名为“_bin_deployableAssemblies”的新文件夹,其中包含项目需要在云中运行的任何程序集,这些程序集都是您所依据的参考文献。

如果您没有VS2010 SP1,请继续按照Scott的博客文章中的建议进行操作(这基本上就是该功能所做的,只是您正在做的事情。)

2 - 检查您的参考文献Copy Local = true

完成此操作后,如果仍有问题,请开始检查您的参考程序集,查找您所定位的云操作系统中不需要的任何参考文件,并确保设置Copy Local = true。

3 - 检查Windows Azure程序集的引用

因为我首先创建了我的Web项目,所以我不得不手动将Windows Azure程序集添加到作为Web角色目标的Web项目中。 (Microsoft.WindowsAzure.Diagnostics, Microsoft.WindowsAzure.ServiceRuntime, Microsoft.WindowsAzure.StorageClient

4 - 如果您使用的是MVC 3,请使用解决方法

听取David Makogon的建议并按照史蒂夫马克思的博客文章中的步骤进行操作。

答案 1 :(得分:1)

调试陷入此循环的Azure应用程序很难。

原因通常是因为构建问题而导致您的角色无法启动。

在这种特殊情况下,我猜测可能你没有在你的包中包含一个或多个MVC程序集 - 检查MVC引用是否标记为Copy Local - 例如请参阅http://msdn.microsoft.com/en-us/library/dd410407.aspx(以及其他链接,具体取决于您使用的MVC版本!)

答案 2 :(得分:1)

如果您的MVC应用程序是MVC3,则最新的MVC库尚未安装在Windows Azure客户操作系统映像中。有关安装MVC3库的两种简单方法,请参见S teve Marx' blog post