Ich habe meine .net 8.0-Webanwendung (und API) von Windows auf Linux verschoben und alles hat großartig funktioniert.
Ich habe die Art und Weise geändert, wie die Lösung Nuget-Pakete verwendet, um die Versionen zentral zu verwalten, aber alles hat ohnehin .net 8.0-kompatible Versionen verwendet, sodass diese Änderung dieses Problem nicht hätte verursachen dürfen (glaube ich nicht).
Nach meiner letzten Veröffentlichung der App kann der Kestrel-Dienst mit der folgenden Fehlermeldung nicht gestartet werden:
12. November 08:42:17 linuxvm MyWebApp[85787]: Unbehandelte Ausnahme. System.IO.FileNotFoundException: Datei oder Assembly „System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51“ konnte nicht geladen werden. Das System kann die angegebene Datei nicht finden.
12. Nov. 08:42:17 linuxvm MyWebApp[85787]: Dateiname: 'System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
12. Nov. 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyModel.DependencyContextJsonReader.Read(Stream stream)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyModel.DependencyContextLoader.LoadContext(IDependencyContextReader-Reader, String-Speicherort)
12. November 08:42:17 linuxvm MyWebApp[85787]: unter Microsoft.Extensions.DependencyModel.DependencyContextLoader.LoadEntryAssemblyContext(IDependencyContextReader Reader)
12. November 08:42:17 linuxvm MyWebApp[85787]: unter Microsoft.Extensions.DependencyModel.DependencyContextLoader.Load(Assembly-Assembly)
12. Nov. 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyModel.DependencyContext.Load(Assembly-Assembly)
12. Nov. 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyModel.DependencyContext.LoadDefault()
12. November 08:42:17 linuxvm MyWebApp[85787]: bei System.Lazy`1.ViaFactory(LazyThreadSafetyMode-Modus)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei System.Lazy`1.ExecutionAndPublication(LazyHelper procedureAndPublication, Boolean useDefaultConstructor)
12. Nov. 08:42:17 linuxvm MyWebApp[85787]: bei System.Lazy`1.CreateValue()
12. Nov. 08:42:17 linuxvm MyWebApp[85787]: unter Microsoft.Extensions.DependencyModel.DependencyContext.get_Default()
12. November 08:42:17 linuxvm MyWebApp[85787]: unter Serilog.Settings.Configuration.Assemblies.AssemblyFinder.Auto()
12. November 08:42:17 linuxvm MyWebApp[85787]: unter Serilog.ConfigurationLoggerConfigurationExtensions.GetConfigurationReader(IConfiguration Configuration, ConfigurationReaderOptions ReaderOptions, DependencyContext dependencyContext)
12. November 08:42:17 linuxvm MyWebApp[85787]: unter Serilog.ConfigurationLoggerConfigurationExtensions.Configuration(LoggerSettingsConfiguration SettingConfiguration, IConfiguration Configuration, ConfigurationReaderOptions ReaderOptions)
12. Nov. 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
12. November 08:42:17 linuxvm MyWebApp[85787]: at Serilog.SerilogServiceCollectionExtensions.c__DisplayClass2_0.b__0(IServiceProvider Services, LoggerConfiguration loggerConfiguration)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Serilog.SerilogServiceCollectionExtensions.c__DisplayClass3_0.b__0(IServiceProvider Services)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite FactoryCallSite, RuntimeResolverContext Kontext)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument-Argument)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope-Bereich)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
12. November 08:42:17 linuxvm MyWebApp[85787]: um System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
12. November 08:42:17 linuxvm MyWebApp[85787]: um Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProviderProvider, Type serviceType)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider-Anbieter)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Serilog.SerilogServiceCollectionExtensions.c__DisplayClass3_0.b__2(IServiceProvider-Dienste)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSitefactoryCallSite, RuntimeResolverContext context)
12. Nov. 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument-Argument)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructionorCallSite, RuntimeResolverContext context)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument-Argument)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructionorCallSite, RuntimeResolverContext context)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument-Argument)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope-Bereich)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
12. November 08:42:17 linuxvm MyWebApp[85787]: um System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
12. November 08:42:17 linuxvm MyWebApp[85787]: um Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProviderProvider, Type serviceType)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider Provider)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.Hosting.HostBuilder.c__DisplayClass35_0.b__2(IServiceProvider _)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSitefactoryCallSite, RuntimeResolverContext context)
12. Nov. 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument-Argument)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope-Bereich)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
12. November 08:42:17 linuxvm MyWebApp[85787]: um System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
12. November 08:42:17 linuxvm MyWebApp[85787]: um Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProviderProvider, Type serviceType)
12. November 08:42:17 linuxvm MyWebApp[85787]: at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider-Anbieter)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.Hosting.HostBuilder.ResolveHost(IServiceProvider serviceProvider, DiagnosticListener DiagnosticListener)
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.Extensions.Hosting.HostApplicationBuilder.Build()
12. November 08:42:17 linuxvm MyWebApp[85787]: bei Microsoft.AspNetCore.Builder.WebApplicationBuilder.Build()
Zeile 26 in Program.cs ist
builder.Services.AddSerilog(lc => lc
.ReadFrom.Configuration(builder.Configuration)
);
Ich verwende Version 8.0.4 von Serilog.Settings.Configuration, um die Konfiguration aus appsettings.json und allen Abhängigkeiten zu lesen beziehen sich auf 8.x-Versionen, daher kann ich nicht herausfinden, warum der Fehler auf eine 9.x-Version von System.Text.Json verweist.
Die API läuft recht problemlos auf demselben Linux-Computer mit derselben installierten .net 8.0-Laufzeitumgebung.
Die Webanwendung funktioniert in Visual Studio in meiner Windows-Umgebung problemlos.
.net 8.0 Web App unter Linux sucht nach System.Text.JSON 9.0.0.0 ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post
Mobile version