C# Windows上的.NET核心应用程序也可以访问system.web吗?

C# Windows上的.NET核心应用程序也可以访问system.web吗?,c#,asp.net,.net-core,C#,Asp.net,.net Core,我们有一个大型ASP.NET应用程序,我们正在努力向.NET核心过渡。主要目标是自托管(再见IIS,你好xcopy部署!) 我们有一个将应用程序迁移到Razor的路径(数百个aspx文件),这看起来不错(我们主要使用MVC,所以我们只有一些旧的遗留asp.net文件,我们正在将其重新制作到MVC) 然而,我们有大量基于.NET4.6的第三方LIB。我们被这些LIB中的大多数卡住了。这些LIB硬编码到system.web以实现许多功能。我们不能改变这一点 所以问题是:如果我坚持在Windows上运

我们有一个大型ASP.NET应用程序,我们正在努力向.NET核心过渡。主要目标是自托管(再见IIS,你好xcopy部署!)

我们有一个将应用程序迁移到Razor的路径(数百个aspx文件),这看起来不错(我们主要使用MVC,所以我们只有一些旧的遗留asp.net文件,我们正在将其重新制作到MVC)

然而,我们有大量基于.NET4.6的第三方LIB。我们被这些LIB中的大多数卡住了。这些LIB硬编码到system.web以实现许多功能。我们不能改变这一点

所以问题是:如果我坚持在Windows上运行我的.NET Core animal,在这个过程中,我还能参考.NET 4.6/4.7吗


(不,我们不打算使用微服务,请不要这样做。)

ASP.NET Core是一组在.NET Core和.NET Framework上运行的库

这意味着您可以创建一个在.NET Framework上运行的ASP.NET核心应用程序,并继续使用.NET Framework中的所有内容。这可以通过创建一个新的ASP.NET Core应用程序并编辑
.csproj
文件来设置
TargetFramework
,例如从
netcoreapp2.0
net472
并将
Microsoft.AspNetCore.All
元包替换为包含ASP.NET Core库的单个NuGet包来实现(
Microsoft.AspNetCore
等)

虽然这也允许您访问System.Web中的类型,但这可能没有用处,因为ASP.NET核心应用程序不在IIS中运行,因此无法使用System.Web中的HttpContext(例如,因为没有IIS/ASP.NET HTTP上下文)


所以,归根结底,这取决于你使用的System.Web库所依赖的功能。

参考.NET core下的.NET 4.6/4.7=运气不好。工作方式与此相反,思考方式与此相反……所以我可以成为一个.NET 4.6应用程序和自宿主kestrel Web服务器?@Steve,请参阅上面的说明,为.NET core构建的Web应用程序可以在顶部运行没有问题。但是为.NET framework构建的web应用程序或使用与.NET core不兼容的库的web应用程序不能在.NET core上运行。希望这足够清楚。请将.NET core视为完整版本的精简版。NET@Steve不,.NET Core不能在.NET Framework上运行。但是,ASP.NET Core的web应用程序可以在.NET Core o上运行NET框架.ASP.NET核心和.NET核心是不同的东西。