Веб-приложение .net 8.0 в Linux ищет System.Text.JSON 9.0.0.0C#

Место общения программистов C#
Anonymous
Веб-приложение .net 8.0 в Linux ищет System.Text.JSON 9.0.0.0

Сообщение Anonymous »

Я перенес свое веб-приложение .net 8.0 (и API) из Windows в Linux, и все работало отлично.
Я изменил способ использования пакетов Nuget для централизованного управления версиями, но все равно все использовали версии, совместимые с .net 8.0, так что это изменение не должно было вызвать эту проблему (я не думаю).
После моей последней публикации приложения служба Kestrel не может запуститься со следующей ошибкой:

12 ноября 08:42:17 linuxvm MyWebApp[85787]: необработанное исключение. System.IO.FileNotFoundException: не удалось загрузить файл или сборку «System.Text.Json, версия = 9.0.0.0, культура = нейтральная, PublicKeyToken = cc7b13ffcd2ddd51». Система не может найти указанный файл.
12 ноября 08:42:17 linuxvm MyWebApp[85787]: Имя файла: 'System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyModel.DependencyContextJsonReader.Read(поток потока)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyModel.DependencyContextLoader.LoadContext(читатель IDependencyContextReader, String location)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyModel.DependencyContextLoader.LoadEntryAssemblyContext (читатель IDependencyContextReader)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyModel.DependencyContextLoader.Load(сборка сборки)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyModel.DependencyContext.Load(сборка сборки)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyModel.DependencyContext.LoadDefault()
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в System.Lazy`1.ViaFactory (режим LazyThreadSafetyMode)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в System.Lazy`1.ExecutionAndPublication(LazyHelper ExecutionAndPublication, Boolean useDefaultConstructor)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в System.Lazy`1.CreateValue()
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyModel.DependencyContext.get_Default()
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Serilog.Settings.Configuration.Assemblies.AssemblyFinder.Auto()
12 ноября 08:42:17 linuxvm MyWebApp [85787]: в Serilog.ConfigurationLoggerConfigurationExtensions.GetConfigurationReader (конфигурация IConfiguration, ConfigurationReaderOptions readOptions, DependencyContext dependencyContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Serilog.ConfigurationLoggerConfigurationExtensions.Configuration(Настройка LoggerSettingsConfiguration, Конфигурация IConfiguration, ConfigurationReaderOptions readOptions)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Program.c__DisplayClass0_0.$>b__0(LoggerConfiguration lc) в C:\Users\dev\source\repos\WebApp\MyWebApp\Program.cs:line 26
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Serilog.SerilogServiceCollectionExtensions.c__DisplayClass2_0.b__0(службы IServiceProvider, LoggerConfiguration loggerConfiguration)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Serilog.SerilogServiceCollectionExtensions.c__DisplayClass3_0.b__0(службы IServiceProvider)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite FactoryCallSite, RuntimeResolverContext context)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, контекст RuntimeResolverContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, аргумент TArgument)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, область ServiceProviderEngineScope)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier) serviceIdentifier)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(поставщик IServiceProvider, тип serviceType)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](поставщик IServiceProvider)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Serilog.SerilogServiceCollectionExtensions.c__DisplayClass3_0.b__2(службы IServiceProvider)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite FactoryCallSite, контекст RuntimeResolverContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, контекст RuntimeResolverContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, аргумент TArgument)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite конструкторCallSite, контекст RuntimeResolverContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, контекст RuntimeResolverContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, аргумент TArgument)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite конструкторCallSite, контекст RuntimeResolverContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, контекст RuntimeResolverContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, аргумент TArgument)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, область ServiceProviderEngineScope)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier) serviceIdentifier)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(поставщик IServiceProvider, тип serviceType)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](поставщик IServiceProvider)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.Hosting.HostBuilder.c__DisplayClass35_0.b__2(IServiceProvider _)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite FactoryCallSite, контекст RuntimeResolverContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, контекст RuntimeResolverContext)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, аргумент TArgument)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, область ServiceProviderEngineScope)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier) serviceIdentifier)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(поставщик IServiceProvider, тип serviceType)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](поставщик IServiceProvider)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.Hosting.HostBuilder.ResolveHost(IServiceProvider serviceProvider, DiagnosticListener DiagnosticListener)
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.Extensions.Hosting.HostApplicationBuilder.Build()
12 ноября 08:42:17 linuxvm MyWebApp[85787]: в Microsoft.AspNetCore.Builder.WebApplicationBuilder.Build()


Line 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.

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

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