我在Azure AppService中部署了一个ASP.NET Core 6应用程序。在我将Serilog.AspNetCore
更新到第7个版本后,它开始崩溃:
Could not load file or assembly 'Microsoft.Extensions.Logging.Abstractions, Version=7.0.0.0
(问题仅发生在AppService中,本地一切正常)
我怀疑部署过程会从.NET SDK中清理dll,类似于Azure Functions部署流程。在Azure Functions中,此问题可以通过以下方式解决:
<FunctionsPreservedDependencies Include="Microsoft.Extensions.Logging.Abstractions.dll" />
或者是
<_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>
AppService是否有类似的功能?
注意:降级到第6版后,一切正常
注2:我没有Advanced Tools
的访问权限,因此无法验证正在部署的文件(受公司DevOps的限制)
编辑:这是我的csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<UserSecretsId>1bcc1cf7-6fce-4196-9bb5-a7aa29a04078</UserSecretsId>
<RootNamespace>MyApp</RootNamespace>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.13" />
<PackageReference Include="Serilog.Sinks.Splunk" Version="3.7.0" />
<PackageReference Include="Serilog.AspNetCore" Version="7.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MyApp.AppCore\MyApp.AppCore.csproj" />
</ItemGroup>
</Project>
1条答案
按热度按时间kt06eoxx1#
我已经将
Serilog.AspNetCore
版本升级到7.0.0
,并且能够在没有任何错误的情况下部署和运行Azure应用程序服务。Serilog.AspNetCore
=>Microsoft.Extensions.Logging
下有可用的Microsoft.Extensions.Logging.Abstractions
。或者是
Extensions
选项卡安装软件包(如果您有访问权限)。