.net-core-2.0 azure app service 502.5错误

kti*_*e12 22 .net c# azure asp.net-core-2.0 .net-core-2.0

在CI部署到azure应用服务后获得502.5错误.

dotnet {myproject}.dll调试控制台上运行时,这是我得到的错误:

未处理的异常:System.IO.FileLoadException:无法加载文件或程序集'System.Diagnostics.DiagnosticSource,Version = 4.0.2.1,Culture = neutral,PublicKeyToken = cc7b13ffcd2ddd51'.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)位于Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices(AggregateException和hostingStartupErrors)的Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()at My.IOEducation.Api.Program.Main(String [] args)in D:\ home\site\repository\My.IOEducation.Api\Program.cs:第11行

运行dotnet --version回报2.0.0

还有其他人遇到这个以及有关如何解决的任何建议吗?

更新:这是项目文件的内容.

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <Folder Include="Models\Report\" />
    <Folder Include="wwwroot\" />
    <Folder Include="DataAccess\ExternalApis\" />
    <Folder Include="DataAccess\ExternalApis\Helpers\" />
    <Folder Include="Models\Dashboard\" />
    <Folder Include="Helpers\" />
    <Folder Include="DataAccess\Redis\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.ResponseCompression" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" />
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
    <PackageReference Include="PowerBI.NetStandard.Api" Version="1.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="1.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUi" Version="1.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="1.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="1.0.0" />
    <PackageReference Include="Dapper" Version="1.50.2" />
    <PackageReference Include="StackExchange.Redis" Version="1.2.6" />
    <PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.0" />
  </ItemGroup>
  <ItemGroup>
    <None Remove="DataAccess\.DS_Store" />
    <None Remove=".DS_Store" />
  </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

Cha*_*arl 23

我与aspnet IISIntegration团队成员交谈并找到了我的解决方案.

tldr:在kudu上清空你的wwwroot文件夹.

这个问题涉及从以前的1.x部署中遗留下来的旧东西

步骤1:

导航到Kudu控制台(https:// {yourapp} .scm.azurewebsites.net /)

第2步:

导航到文件结构

第3步:

删除wwwroot文件夹

(注意:导航到"站点"目录)

(注意:此wwwroot中有一个wwwroot文件夹.您应该删除"site"目录中的那个)

第4步:

添加一个名为wwwroot的新空文件夹,您刚刚删除了上一个文件夹(在"site"目录中)

(注意:当我没有空的wwwroot文件夹时,我的部署失败了)

第5步:重新部署您的应用程序,并希望它的工作原理.祝好运

  • 我必须这样做,ktice12建议的答案让我们的工作.此外,必须停止应用程序才能删除wwwroot文件夹. (2认同)

kti*_*e12 16

发现了这个问题.让我首先补充一点信息.这最初是一个.net-core-1.1项目,我按照Microsoft提供的说明更新到2.0.升级后,我在本地运行时没有任何问题,但是一旦我尝试发布我的azure应用程序服务,我就一直收到IIS错误.最后的努力是今天早上从头开始创建一个新的.net-core-2.0项目,并注意到新的项目文件包含:

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我将其添加到我现有的项目文件(从1.1升级的文件)中,现在错误消失并且问题已解决.

  • 请注意,[1.1到2.0迁移文档](https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/)确实提到添加此行(在'更新.NET中)核心CLI工具的部分).但是,是的,错误没有帮助...... (2认同)