Веб-приложение ASP.NET Core 8.0 в Linux ищет System.Text.Json 9.0.0.0C#

Место общения программистов C#
Ответить
Anonymous
 Веб-приложение ASP.NET Core 8.0 в Linux ищет System.Text.Json 9.0.0.0

Сообщение Anonymous »

Я перенес свое веб-приложение ASP.NET Core 8.0 (и API) из Windows в Linux, и все работало отлично.
Я изменил способ использования в решении пакетов Nuget для централизованного управления версиями, но все равно все использовали версии, совместимые с .NET 8.0, так что изменение не должно было вызвать эту проблему (я не думаю).
После моей последней публикации приложения служба Kestrel не может запуститься с следующая ошибка:
Nov 12 08:42:17 linuxvm MyWebApp[85787]: Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
Nov 12 08:42:17 linuxvm MyWebApp[85787]: File name: 'System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyModel.DependencyContextJsonReader.Read(Stream stream)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyModel.DependencyContextLoader.LoadContext(IDependencyContextReader reader, String location)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyModel.DependencyContextLoader.LoadEntryAssemblyContext(IDependencyContextReader reader)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyModel.DependencyContextLoader.Load(Assembly assembly)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyModel.DependencyContext.Load(Assembly assembly)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyModel.DependencyContext.LoadDefault()
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at System.Lazy`1.CreateValue()
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyModel.DependencyContext.get_Default()
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Serilog.Settings.Configuration.Assemblies.AssemblyFinder.Auto()
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Serilog.ConfigurationLoggerConfigurationExtensions.GetConfigurationReader(IConfiguration configuration, ConfigurationReaderOptions readerOptions, DependencyContext dependencyContext)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Serilog.ConfigurationLoggerConfigurationExtensions.Configuration(LoggerSettingsConfiguration settingConfiguration, IConfiguration configuration, ConfigurationReaderOptions readerOptions)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Program.c__DisplayClass0_0.b__0(LoggerConfiguration lc) in C:\Users\dev\source\repos\WebApp\MyWebApp\Program.cs:line 26
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Serilog.SerilogServiceCollectionExtensions.c__DisplayClass2_0.b__0(IServiceProvider services, LoggerConfiguration loggerConfiguration)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Serilog.SerilogServiceCollectionExtensions.c__DisplayClass3_0.b__0(IServiceProvider services)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Serilog.SerilogServiceCollectionExtensions.c__DisplayClass3_0.b__2(IServiceProvider services)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.Hosting.HostBuilder.c__DisplayClass35_0.
b__2(IServiceProvider _)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.Hosting.HostBuilder.ResolveHost(IServiceProvider serviceProvider, DiagnosticListener diagnosticListener)
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.Hosting.HostApplicationBuilder.Build()
Nov 12 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.AspNetCore.Builder.WebApplicationBuilder.Build()

Строка 26 в Program.cs:
builder.Services.AddSerilog(lc => lc
.ReadFrom.Configuration(builder.Configuration)
);

Я использую версию 8.0.4 Serilog.Settings.Configuration для чтения конфигурации из appsettings.json, и все зависимости относятся к версиям 8.x, поэтому я не могу понять, почему ошибка ссылается на версию System.Text.Json 9.x.
API вполне успешно работает на той же машине Linux с тем же Установлена среда выполнения .NET 8.0.
Веб-приложение отлично работает в Visual Studio в моей среде Windows.
.csproj содержимое файла:



net8.0
enable
enable










all
runtime; build; native; contentfiles; analyzers; buildtransitive

























Never





Directory.packages.props содержимое файла:


true

























all
runtime; build; native; contentfiles; analyzers; buildtransitive





























Подробнее здесь: https://stackoverflow.com/questions/798 ... on-9-0-0-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»