我在Google上搜索并获得以下信息:
所以我完全理解.NET Core控制台应用程序和.NET 4.6.1控制台应用程序可以添加对某个.NET标准库的引用,只要它们是兼容的。
令我困惑的是
我用VS2017 15.3进行了测试,我知道有一些关于如何在Core应用程序中添加对4.6.1 dll的引用的讨论,但所有这些都讨论了旧的核心项目(使用project.json)自官方RTM VS2017以来已经过时了。 为什么1是可以的,而2则不可能?
由于
答案 0 :(得分:0)
这样做是为了能够重用现有项目和预构建程序集(dll文件),前提是它们只使用.NET Standard 2.0中的API(类型,方法等)。
你是对的,它似乎违反直觉,“不应该工作”。但是,加载.NET Framework程序集有一个小的compatibility layer,但是如果它们使用不受支持的API ,它们可能会失败,因此使用此兼容性机制是危险的,应该检查项目/ assembly之前使用.NET Portability Analyzer。