我有一个非常基本的 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& 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/