在.Net Standard中,我们应该尽量避免使用非跨平台的依赖,以确保我们的代码能够运行在不同的平台上。下面是一些解决方法:
// 使用.Net Standard的跨平台依赖库
using Microsoft.Extensions.DependencyInjection;
public class MyClass
{
    private readonly IServiceCollection _services;
    public MyClass()
    {
        _services = new ServiceCollection();
    }
    public void ConfigureServices()
    {
        // 添加服务
        _services.AddTransient();
        // ...
    }
}
 #if和#endif来在不同平台上使用不同的依赖库。#if NETSTANDARD
// 使用.Net Standard的跨平台依赖库
using Microsoft.Extensions.DependencyInjection;
#else
// 使用特定平台的依赖库
using SomeNonCrossPlatformDependency;
#endif
public class MyClass
{
    private readonly IServiceCollection _services;
    public MyClass()
    {
        _services = new ServiceCollection();
    }
    public void ConfigureServices()
    {
        // 添加服务
#if NETSTANDARD
        _services.AddTransient();
#else
        _services.AddTransient();
#endif
        // ...
    }
}
  通过以上方法,我们可以在.Net Standard中避免使用非跨平台的依赖,并确保代码能够在不同平台上运行。