将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)在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>
答案 0 :(得分:23)
我与aspnet IISIntegration团队成员交谈并找到了我的解决方案。
tldr:清空kudu上的wwwroot文件夹。
该问题涉及从先前的1.x部署中遗留下来的旧事物
第1步:
导航到Kudu控制台(https:// {yourapp} .scm.azurewebsites.net /)
第2步:
第3步:
(注意:导航到&#34; site&#34;目录)
(注意:此wwwroot中有一个wwwroot文件夹。您应该删除&#34; site&#34;目录中的那个)
第4步:
添加一个名为wwwroot的新空文件夹,您刚刚删除了上一个文件夹(在&#34; site&#34;目录中)
(注意:当我没有空的wwwroot文件夹时,我的部署失败了)
第5步:重新部署您的应用,希望它能正常运行。祝你好运
答案 1 :(得分: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>
我将其添加到我现有的项目文件(从1.1升级的文件)中,现在错误消失并且问题已解决。
答案 2 :(得分:1)
全新的.net core 2.1应用程序尝试通过新的应用程序服务计划部署到新的Azure应用程序服务。相同的问题,即502.5错误(HTTP错误502.5-进程失败)。
我执行了上述步骤,但仍然遇到错误。我选择使用选择的自包含部署模式(与框架相关(win-x64)相比)。
这解决了我的问题。
此答案也已提交给[问题]:ASP.NET Core 2.0 Preview 2 on IIS error 502.5
也许这些问题应该联系起来。