azure-web-app-service - 无法在 Azure 上运行基本的 ASP.Net 5 网站

标签 azure-web-app-service asp.net-core

我有一个非常基本的 ASP.Net 5 应用程序,是按照本指南创建的 https://www.asp.net/vnext/overview/aspnet-vnext/create-a-web-api-with-mvc-6 ,并且它在 VS 中工作正常。

但是我无法让它在 azure 网站上运行。我不断在浏览器上收到黄色运行时错误页面,并在日志文件中收到此异常:

<EventData>
  <Data>3005</Data>
  <Data>An unhandled exception has occurred.</Data>
  <Data>11/22/2014 9:39:33 PM</Data>
  <Data>11/22/2014 9:39:33 PM</Data>
  <Data>9e1c1ecb36f647ddb1f4b1856b2a105c</Data>
  <Data>1</Data>
  <Data>1</Data>
  <Data>0</Data>
  <Data>/LM/W3SVC/46675609/ROOT-1-130611659736590153</Data>
  <Data></Data>
  <Data>/</Data>
  <Data>D:\home\site\wwwroot\</Data>
  <Data>RD00155D431959</Data>
  <Data></Data>
  <Data>21084</Data>
  <Data>w3wp.exe</Data>
  <Data>IIS APPPOOL\glMigrations</Data>
  <Data>DirectoryNotFoundException</Data>
  <Data>
    Couldn't find package 'KRE-CoreCLR-x86.1.0.0-beta1'. Locations probed:

    D:\home\site\approot\packages\Migrations\1.0.0\packages\KRE-CoreCLR-x86.1.0.0-beta1
    D:\home\site\approot\packages\Migrations\packages\KRE-CoreCLR-x86.1.0.0-beta1
    D:\home\site\approot\packages\packages\KRE-CoreCLR-x86.1.0.0-beta1
    D:\home\site\approot\packages\KRE-CoreCLR-x86.1.0.0-beta1
    D:\home\site\packages\KRE-CoreCLR-x86.1.0.0-beta1
    D:\home\packages\KRE-CoreCLR-x86.1.0.0-beta1
    D:\packages\KRE-CoreCLR-x86.1.0.0-beta1
    at AspNet.Loader.KRuntimeLocator.GetPathToSpecificKrePackage(DirectoryInfo appPhysicalPath, String krePackage)
    at AspNet.Loader.KRuntimeLocator.LocateKRuntime(MapPathHelper mapPathHelper, Boolean&amp; isCoreClr, String relativeAppBasePath)
</Data>

我尝试了核心版和完整版,得到了相同的结果。

如有任何建议,我们将不胜感激。

最佳答案

我在部署到本地 IIS 服务器时遇到了同样的错误。事实证明,该问题是由项目build设置未勾选“构建时生成输出”引起的。我刚刚尝试在 Azure 网站上运行我的测试项目并设法使其正常工作。

在部署到默认的“免费”计划网站时,我还遇到了另一个问题,因为我使用的是 X64 KRE,并且只有“基本”和“标准”计划支持 X64。

我写了一个Blog Post关于我如何让 ASP.NET 5.0 在本地 IIS 上运行,我已使用 Azure 网站的发现进行了更新,因为我在这里的代表级别不够高,无法发布图片。

编辑: 如果我的博客文章的链接中断,以下是我在 IIS 和 Azure 网站上运行 ASP.Net 5.0 所采取的步骤的基本描述

  • 使用在 Windows 10 技术预览版上运行的 Visual Studio 2015 预览版模板创建了 ASP.NET 5.0 网站
  • 对于本地 IIS,我确保 IIS 具有所有必需的功能,对于 Azure,您显然可以跳过这些功能
  • 然后,我更改了项目的“build设置”,为“调试”和“发布”配置启用“构建时生成输出”
  • 接下来,我更新了 project.json 文件以使用我在 IIS 中配置的 URL,这对于 Azure 来说可能不是必需的
  • 然后,我创建了一个到本地 IIS 服务器的发布配置文件,效果很好。
  • 看到这篇文章后,我尝试通过简单地创建一个针对 Azure 网站的新发布配置文件来部署到 Azure
  • 此时我遇到了类似的错误,因为我的目标是 X64 KRE,并且默认的 Azure 网站已创建为不支持 X64 的“免费”网站。
  • 然后我将 Azure 网站更改为“基本”计划,并启用 X64 cpu。
  • 最后,我使用之前创建的 Azure 发布配置文件进行了重新部署,这一次生成了一个工作站点

关于azure-web-app-service - 无法在 Azure 上运行基本的 ASP.Net 5 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27152476/

相关文章:

c# - 从 ASP.Net Core API 方法中的 ActionResult<object> 获取值

ssl - Azure 网站自定义 SSL ASP.Net MVC 解决方法

c# - 将 Bot Framework Bot 作为 Azure Web 应用程序工作,突然没有配置更改,出现 SecurityTokenSignatureKeyNotFoundException : IDX10501

authentication - AspNetCore.Authentication.JwtBearer 失败,没有 SecurityTokenValidator 可用于带有 .net core RC2 的 token

.net - 无法在资源 'integrity' 的 'https://localhost:5001/_framework/System.Private.Xml.dll' 属性中找到有效摘要

azure - npm 错误! 404 未找到 : har-validator@5. 1.2

c# - 如何在 Azure 应用服务中将 X509Certificate2 与 WCF 结合使用

c# - 在 Azure 上的 Web API 中获取 TLS 协议(protocol)版本

azure - 如何在 Azure 应用服务应用设置中插入换行符?

c# - Net Core : Execute All Dependency Injection in Xunit Test for AppService, 存储库等