ASP.NET 通过 BitBucket 部署到 Azure 时为 5 kre-version

ASP.NET 5 kre-version when deploying to Azure via BitBucket

我正在使用新的 ASP.NET 5,但遇到了问题。

我有 ASP.NET MVC 6 应用程序。我保留在 BitBucket 上的源代码,Azure 是我的托管服务。我将 BitBucket 与 Azure 链接在一起,这样在每次推送时都会启动部署。

在我将 KRE 版本更新到 1.0.0-beta2(之前是 1.0.0-beta1)之前,一切都运行良好。 现在在自动部署之后我得到 500 内部服务器错误。但是当我从 Visual Studio 发布我的应用程序时 - 它工作正常。

通过 FTP 调查 Azure 上的文件后,我注意到当我从 Visual Studio 部署时,我在 wwwroot 中的 web.config 看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="kpm-package-path" value="..\approot\packages" />
    <add key="bootstrapper-version" value="1.0.0-beta2" />
    <add key="kre-package-path" value="..\approot\packages" />
    <add key="kre-version" value="1.0.0-beta2" />
    <add key="kre-clr" value="CLR" />
    <add key="kre-app-base" value="..\approot\src\Web" />
  </appSettings>
</configuration>

但是从 BitBucket 自动部署后它看起来像:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="kpm-package-path" value="..\approot\packages" />
    <add key="bootstrapper-version" value="1.0.0-beta2" />
    <add key="kre-package-path" value="..\approot\packages" />
    <add key="kre-version" value="1.0.0-beta1" />
    <add key="kre-clr" value="CLR" />
    <add key="kre-app-base" value="..\approot\src\Web" />
  </appSettings>
</configuration>

kre-version 密钥不同。

为什么要把 beta1 放在那里?有什么办法可以明确指定 kre-version 吗?

看起来与 相同。您能否尝试那里提到的解决方法,即设置几个应用程序设置(在站点的 Azure 门户中):

  • SCM_KRE_Version=1.0.0-beta2
  • SCM_KRE_CLR=CoreCLR