这个思路始于这个帖子。 我们正在做什么: 将一个庞大的asp.net应用程序转换成razor(数百个页面和模板) -- 这部分已完成 我们接下来想要做的事情:在kestrel中自托管网站 问题是:此应用程序使用了许多需要在Windows上使用完整.NET Framework的第三方库,包括对system.web的大量引用。 在这篇文章的评论中,指出可以在完整的.NET Framework上运行.NET Core项目。 如果是真的,那么这个.NET Core项目,它将使用kestrel进行自托管,是否也可以包含使用system.web的完整的“旧”的.NET 4.6程序集?
在这篇文章的评论中,提到了一个错误的想法:在完整的.NET Framework上运行.NET Core项目。这是错误的。它要么是.NET Core,要么是.NET Framework。你可以在.NET Framework或.NET Core上托管ASP.NET Core,但那是另一回事。如果这是真的,那么这个将使用kestrel自托管的.NET Core项目,也可以包含使用system.web的全面的“旧”的.NET 4.6程序集吗?不,你不能这样做,因为这是不正确的。然而,你可以在.NET Framework 4.6上运行一个ASP.NET Core应用程序,使用System.Web引用,但这有很多限制;例如,你不能在ASP.NET Core上运行ASP.NET OWIN流水线。这完全取决于你需要使用System.Web及其相关程序集的具体内容。但请让我尽可能清楚地表达:.NET Core != ASP.NET Core
System.Web
(又名ASP.NET 4.x)的程序集无法以这种方式使用,因为ASP.NET Core本身具有不同的编程模型,许多东西很容易出错。再次确认每个程序集(您没有展示它们是什么)。 - Lex Li