我试图将ASP.NET Core应用程序实现为Windows服务。我基本上遵循了here概述的步骤。我发布了应用程序,然后创建指向发布位置中的可执行文件的服务。该服务已成功创建。我开始服务,这也很成功。但是,当我尝试将浏览器导航到我设置的URL时,我得到了一个" 500 - 内部服务器错误"。我对这个过程很陌生,我真的不知道如何追踪这个过程。以下是我设置入口点的方法:
public static void Main(string[] args)
{
var isDebug = Debugger.IsAttached || args.Contains("--debug");
string runPath = isDebug ?
Directory.GetCurrentDirectory() :
Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(runPath)
.UseWebRoot(Path.Combine(runPath, "wwwroot"))
.UseUrls(new string[] { "http://myserver:9191" })
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
if (isDebug)
{
host.Run();
}
else
{
host.RunAsService();
}
}
仅供参考,我已经尝试过使用和不使用UseWebRoot行,并且我已尝试使用相对路径和绝对路径的UseWebRoot。谁能指出我正确的方向?需要更多信息吗?
谢谢! 丹尼斯
答案 0 :(得分:0)
感谢您的帮助,评论者!原来我没有在我的project.json中将views结构添加到我的publishOptions中。该部分现在看起来像这样:
"publishOptions": {
"include": [
"wwwroot",
"web.config",
"**/*.cshtml",
"appsettings.json"
]}
现在一切似乎都有用了!