【发布时间】:2020-02-25 00:54:09
【问题描述】:
我是整个 C# .Net 环境的新手,我正在尝试将一个简单的 Console .NetCore 3 应用程序从 MacOS 10.14 部署到 windows server 2012 R2 问题是该应用程序确实可以在 macOS 上运行,但在 Windows 上部署后它不起作用 在服务器上这是代码
IServiceCollection services = new ServiceCollection();
services.AddLogging();
var serviceProvider = services.BuildServiceProvider();
var loggerFactory = serviceProvider.GetService<ILoggerFactory>();
Console.ReadKey();
我已经多次调试代码,只有在 GetService 方法时才会抛出异常 像这里一样使用
var loggerFactory = serviceProvider.GetService<ILoggerFactory>();
异常消息是
Microsoft.Extentions.DependecnyInjection.DependencyInjectionEventSource 的类型初始化程序引发异常
我已经搜索了解决方案,但没有找到任何解决方案,甚至没有一个接近的解决方案。
编辑 1:
这里有更多关于错误的细节,希望它可以帮助
-
异常消息:
类型初始化器 'Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource' 抛出异常。
- 堆栈跟踪:
在 Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.CreateServiceAccessor(类型 serviceType e) 在 System.Collections.Concurrent.ConcurrentDictionary
2.GetOrAdd(TKey key, Func2 valueFactory) 在 Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(类型 serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
在 Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(类型 服务类型)在 Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(类型 服务类型)在 Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider 提供者)在 Inj.Program.Main(String[] args) 中 /Users/programmer/VSProjects/Inj/Inj/Program.cs:第 19 行
- 内部异常:
System.ArgumentException:外部组件已引发异常。 在 System.Globalization.CompareInfo.CompareString(ReadOnlySpan
1 string1, ReadOnlySpan1 string2,CompareOptions 选项) System.Globalization.CompareInfo.Compare(字符串 string1,字符串 string2,CompareOptions 选项)在 System.Globalization.TextInfo.PopulateIsAsciiCasingSameAsInvariant()
在 System.Globalization.TextInfo.ChangeCaseCommon [TConversion](字符串 源) 在 System.Globalization.TextInfo.ToUpper(String str) 在 System.String.ToUpperInvariant() 在 System.Diagnostics.Tracing.EventSource.GetGuid(类型 eventSourceType)
在 System.Diagnostics.Tracing.EventSource..ctor(EventSourceSettings 设置,字符串 [] 特征)在 System.Diagnostics.Tracing.EventSource..ctor(EventSourceSettings 设置)在 Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource..ctor() 在 Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource..cctor()
【问题讨论】:
-
嗨 jimmy mac,
InnerException说了什么? -
System.ArgumentException: External component has throw an exception 感谢您的快速回放
-
你拥有扩展方法
IServiceCollection.AddLogging吗? (如果有,可以分享一下吗?) -
您是否在
ConfigureServices方法中解析ILoggerFactory。或者,您直接在Configure方法中注入ILoggerFactory -
不,我没有任何扩展方法。 @IvanGarcíaTopete
标签: c# dependency-injection .net-core .net-core-3.0