具体来说,我需要确定的是调用发展平台(即.NET核心与.NET框架相对于其他),而不是操作系统的信息,我可以通过System.Environment.OperatingSystem.Platform得到。有没有办法做到这一点? (为了给出我的具体用例的更多细节,我引用了一个库 - log4net - 它通过传递一个XML资源来配置它。我想在可用的情况下使用它的一些可配置功能,如果可用,它们在.NET下受支持。框架,但不是在.NET的核心,我希望能够因此将它传递不同版本的资源,这取决于它,我正在使用的。)我如何确定在运行时从一个.NET标准库调用平台?
1
A
回答
0
从运行环境解决可能被证明是不确定运行时更改。我会在应用程序运行之前强制执行该问题。如前所述,您可以通过运行时或配置它。
另一种选择是类似SL4J提供的东西。运行时确定取决于您部署应用程序的方式。
你可以创建自己的暴露平台的信息接口。然后,在部署时,只需将相应的程序集添加到安装中即可。加载程序集并调用所需的方法。
或者你看微软如何处理类似的情况在这里:https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
0
我不得不这样做一次。我需要一种方法来调用不同的实现。我只是用反射尝试一个接一个的名字。
试图检测运行时库是愚蠢的。直接检测差异。它不太可能突破。
相关问题
- 1. 如何在运行时从便携库中确定.net平台?
- 2. 如何确定Qt在运行时运行的平台?
- 3. 我如何确定哪个平台正在运行?
- 4. .NET 4.5可移植类库:是否可以在运行时确定平台?
- 5. 如何确定R在哪个平台上运行?
- 6. 在运行时从库中确定.Net Framework
- 7. 如何确定目标.NET平台版本
- 8. .NET标准1.5 XUnit控制台亚军 - 如何运行我的单元测试?
- 9. 确定从多个标准
- 10. 如何创建.NET平台标准项目
- 11. windows API,C++标准librady,VS运行时库,我应该使用哪一个?
- 12. 平台特定库的运行时间还是编译时间?
- 13. 替代SecureString的一个.NET标准库?
- 14. 如何从Linux内核进行标准库调用?
- 15. 如何确定当前应用程序在LibGDX上运行的平台?
- 16. 运行指定平台(Android或iOS)的自动化测试。每次发布只有一个平台。如何指定Maven必须运行哪个平台?
- 17. 在运行时调试.net?
- 18. 如何使用xamarin我创建了一个跨平台的库?
- 19. 如何在运行时确定.NET listview的维度?
- 20. 如何解决这个错误运行一个或多个平台,当我运行“离子运行android - 设备”
- 21. NET标准库引用.NETCore
- 22. Xamarin.Forms - “目标.NET平台标准”选项不出现
- 23. 如何确定一组标准偏差
- 24. 如何在运行时使用MvvMCross检测平台?
- 25. 如何确定一台机器是否正在运行Active Directory
- 26. 运输数据库从一个平台到另一个平台的Oracle数据库
- 27. 如何指定在运行时使用哪个.NET框架
- 28. 关于一次运行多个数据库平台有什么“不正确”?
- 29. 运行准确的时钟
- 30. 如何调用一个类:perl中运行时确定的方法?
毫无疑问,.NET标准确实不会这么做。因为这可能会使图书馆*不*标准。如果有必要,考虑只是让主应用程序告诉你,它知道。 –