我尝试运行asp.net core 2 web api作为Windows服务。我的目标是.Net 4.6.1框架。我从visual studio模板创建了一个基本项目,除了将Program.cs Main方法改为
之外没有任何改变public static void Main(string[] args)
{
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
var pathToContentRoot = Path.GetDirectoryName(pathToExe);
var host = WebHost.CreateDefaultBuilder(args)
.UseContentRoot(pathToContentRoot)
.UseStartup<Startup>()
.Build();
host.RunAsService();
}
当我尝试启动Windows服务时,我在事件查看器中收到了以下错误
Version du Framework : v4.0.30319
Description : le processus a été arrêté en raison d'une exception non gérée.
Informations sur l'exception : System.TypeLoadException
Pile :
à Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices(System.AggregateException ByRef)
à Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
à deploy.Program.Main(System.String[])
有什么线索在这里发生了什么?我在过去没有出现问题的情况下部署了许多web api作为Web服务,但它们都是基于asp.net core 1.0构建的。
更新
结束主机没有安装.Net Framework 4.6.1(呃!)。