我正在尝试用ASP.NET MVC WebApi和一个角6前端来建立一个项目。该项目应该针对.NET 4.6.1,因为我没有跨平台需求。不过,我还是想使用.NET核心项目模板,因为它有一些我开发和部署过程所需要的图表:
到目前为止,我已经使用Visual的ASP.NET核心项目模板设置了大部分内容。我做了以下工作:
netcoreapp2.1更改为net461

IHttpActionResult (.NET 4.6.1而不是ActionResult (.NET核心))不,我需要为应用程序重建引导程序,而且我被困住了。我创建了一个global.asax文件,就像在普通的ASP.NET应用程序中一样。在构建时,编译器抛出错误,即Program.cs不将静态Main()方法作为入口点(正如我在步骤4中删除的那样,这是有意义的)。
接下来,我尝试创建一个入口点来启动在global.asax.cs中定义的应用程序
public class Program
{
public static void Main(string[] args)
{
var application = new WebApiApplication();
application.Init();
Console.ReadLine();
}
}使用global.asax.cs:
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}应用程序编译并运行。浏览器已启动。然后什么都不会发生。
我的主要问题是:
如何在将目标更改为.NET 4.6.1?后重构.NET核心ASP项目的入口点
我的做法正确吗?我感谢你的回答,以及与解释这个主题的资源的链接。
以及相关的:
根据我上面的要求,是否正确地将.NET核心应用程序重定向到.NET 4.6.1以获得Visual中的.NET核心项目结构和行为?
发布于 2018-06-26 12:33:06
您似乎对什么是.NET核心和什么是ASP.NET核心感到非常困惑。.NET核心是一个目标框架,而ASP.NET核心是一个库。您正在将ASP.NET核心与ASP.NET内容混合使用,因为ASP.NET Core不是基于.NET框架的,而ASP.NET是基于.NET框架的。
ASP.NET核心的思想是,您可以根据自己的需要针对.NET核心或.NET框架,而无需修改任何内容。实际上,将.NET框架作为ASP.NET核心应用程序的目标非常容易:

然后,您可以一如既往地在项目选项中选择您想要的.NET框架的版本。
此外,如果您决定同时支持.NET核心和.NET框架,就像编辑csproj以包含这两个目标一样容易:
<TargetFramework>属性:
net471<TargetFrameworks>属性:
net471;netcoreapp2.0https://stackoverflow.com/questions/51042850
复制相似问题