我有一个要在.NET Core支持的所有平台(Xamarin,Windows,Mac)上运行的库。为此,我需要一个跨平台的DI来处理特定于平台的自定义项,例如存储,安全性等。
我见过的所有示例都Microsoft.Extensions.DependencyInjection
包含ASP.NET Core的代码。控制台应用程序是否存在任何等效/受支持的方案?
另外(理想情况下),我希望用于控制台的DI框架适用于ASP.NET Core,Xamarin和Win32
错误示例
我将此代码用作.NET Core应用程序的基础。看来ServiceCollection应该是公共的,但是当我在Mac上使用Xamarin时,IServiceCollection
缺少(ServiceCollection)的默认实现:
我基本上像这样使用它:
安装nuget Microsoft.Extensions.DependencyInjection
然后在Program.cs中
using Microsoft.Extensions.DependencyInjection;
public class Program
{
public static void Main(string[] args)
{
var services = new ServiceCollection()
.AddSingleton<WhateverType>(new WhateverType());
var serviceProvider = services.BuildServiceProvider();
serviceProvider.GetService<WhateverType>().DoWork();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句