核心 2 错误引用框架库
Core 2 error referencing Framework libraries
我有一个测试项目 int Core 2 控制台 (Core2ConsoleTest)。
它引用了 .NET Framework 4.6.1 项目 (NetFrameworkTest)。
NetFrameworkTest 项目引用了标准System.Printer.dll。
Download Core2ConsoleTest project here
当我调用任何 System.Printer 函数时出现错误:无法加载文件或程序集 'System.Printing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'。 El sistema no puede encontrar el archivo especificado.
我测试了其他标准库,如 System.Windows.Forms.dll,如果核心项目引用使用标准库的 Nuget 包,也会出现同样的错误。
注:与ASP.Net Core 2
同样的错误
感谢您的帮助!
这不适用于 .NET Core。
.NET Core 2.0 有一个兼容层,允许加载和使用 .NET Framework 库,但这仅在该库仅使用 .NET Core 上也可用的类型和方法时才有效。
由于 System.Printing
不是 .NET Core 的一部分,因此此库将无法访问它,除非您发布了异常。
只有 .NET Framework 应用程序可以使用此 API(例如,.NET Framework 应用程序上的 ASP.NET Core)。
ASP.Net 核心框架项目确实有问题。我无法使用 Core 2.0 创建新项目并引用引用 System.Printing.dll 或其他库的框架库。
但是@mairaw 给了我另一种方法:在一个在 Core 1.1 中工作的项目中,将库 Nuget 更新到 2.0,工作正常。
所以它看起来像是 Visual Studio 2017 年的问题或核心模板。
我担心的是删除此功能,因为它允许以交错的方式采用核心技术,代码重用率高。
编辑:添加了示例项目
CoreTest.zip -> 一个 ASP.Net Core Framework 项目在过去创建时引用了 Core 1.1 和 .NET Framework 4.6.1,然后使用 Nuget 升级到 Core 2.0:成功了!
Core2Framework.zip -> 使用 Visual Studio 2017 15.3.4 创建的类似项目(ASP.Net 核心框架项目创建参考核心 2.0:调用时出错 System.Prinig.dll 来自 .NET Framework 4.6.1 项目。
我有一个测试项目 int Core 2 控制台 (Core2ConsoleTest)。
它引用了 .NET Framework 4.6.1 项目 (NetFrameworkTest)。
NetFrameworkTest 项目引用了标准System.Printer.dll。
Download Core2ConsoleTest project here
当我调用任何 System.Printer 函数时出现错误:无法加载文件或程序集 'System.Printing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'。 El sistema no puede encontrar el archivo especificado.
我测试了其他标准库,如 System.Windows.Forms.dll,如果核心项目引用使用标准库的 Nuget 包,也会出现同样的错误。
注:与ASP.Net Core 2
同样的错误感谢您的帮助!
这不适用于 .NET Core。
.NET Core 2.0 有一个兼容层,允许加载和使用 .NET Framework 库,但这仅在该库仅使用 .NET Core 上也可用的类型和方法时才有效。
由于 System.Printing
不是 .NET Core 的一部分,因此此库将无法访问它,除非您发布了异常。
只有 .NET Framework 应用程序可以使用此 API(例如,.NET Framework 应用程序上的 ASP.NET Core)。
ASP.Net 核心框架项目确实有问题。我无法使用 Core 2.0 创建新项目并引用引用 System.Printing.dll 或其他库的框架库。
但是@mairaw 给了我另一种方法:在一个在 Core 1.1 中工作的项目中,将库 Nuget 更新到 2.0,工作正常。
所以它看起来像是 Visual Studio 2017 年的问题或核心模板。
我担心的是删除此功能,因为它允许以交错的方式采用核心技术,代码重用率高。
编辑:添加了示例项目
CoreTest.zip -> 一个 ASP.Net Core Framework 项目在过去创建时引用了 Core 1.1 和 .NET Framework 4.6.1,然后使用 Nuget 升级到 Core 2.0:成功了!
Core2Framework.zip -> 使用 Visual Studio 2017 15.3.4 创建的类似项目(ASP.Net 核心框架项目创建参考核心 2.0:调用时出错 System.Prinig.dll 来自 .NET Framework 4.6.1 项目。