我正在使用SDK 1.8
。我想在azure中部署一个示例站点。我有一个测试帐户,所以我不知道我是否拥有完整的权限。当我使用模拟器在本地运行一个站点时但是当我创建一个包并在azure中部署时,我收到了一个错误:
500 - Internal server error
我发现this question有同样的问题。5个月没有解决方案。我包含在web.config
中:
customErrors="Off"
但仍然是同样的问题。我将此部署为创建包的网站。
我搜索但从未找到任何解决方案。可能有些人面临同样的问题并得到解决方案。谢谢。
答案 0 :(得分:0)
Azure网站未部署为程序包,您可以从TFS或Visual Studio发布。 Azure WebRoles使用包部署到Azure云服务。根据问题referenced中的建议,完全删除“sites”元素。对于简单部署,它被过度指定。请参见此处的图1 - http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_advancedwebandworkerroles_topic2.aspx
答案 1 :(得分:0)
您可能希望使用计算模拟器在本地调试它。即使你现在没有使用它来快速在云上工作,你将来也需要它。
帮助获得更具描述性的输出的一种方法是启用详细的错误消息,而不是您当前看到的错误消息。
这不像启用自定义错误那么容易,并且需要对Web角色进行一些修改。本文“Debugging Azure HTTP 500 Errors”解释了如何执行此操作,简而言之:
在您的Web角色的根级别创建一个名为startup的新文件夹,并在此文件夹中创建一个名为startup.cmd
的批处理文件。将此文件的属性设置为“始终复制”以确保将其部署。
将以下代码添加到startup.cmd
文件中:
%windir%\system32\inetsrv\AppCmd.exe set config -section:system.webServer/httpErrors -errorMode:Detailed
%APPCMD% set config -section:system.webServer/httpErrors -errorMode:Detailed
第一行启用Azure上的详细错误消息。第二行在计算模拟器上启用它们。
接下来,打开Web角色项目中的ServiceDefinition.csdef
文件,并添加以下元素:
<Startup>
<Task commandLine=”..\startup\startup.cmd” executionContext=”elevated” />
</Startup>
您的项目应该看起来像这样(在此示例中,启动标记已注释掉):
如果一切顺利,您应该开始看到更有用和描述性的错误消息。
答案 2 :(得分:0)
可能是由于各种原因。
就我而言,它是LocalWebDevelopmentServer设置的配置错误。将其设置为IISExpress
可解决问题。