我有一個.net核心應用程序,我想在後臺運行,但似乎無法擺脫Kestrel的控制檯窗口。有沒有辦法隱藏它,而無需將應用程序作爲Windows服務運行?我試圖刪除任何有關記錄器的參考,它沒有幫助。
這裏是我的Program.Main:如何隱藏紅隼控制檯?
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true)
.Build();
var hostingUrl = config.GetValue<string>("HostingUrl");
if (string.IsNullOrEmpty(hostingUrl))
{
var xmlString = File.ReadAllText(Consts.WebHostBaseFolder + "\\web.config");
var confDoc = XDocument.Parse(xmlString);
hostingUrl = confDoc.Element("configuration").Element("appSettings")?.Elements("add")?.FirstOrDefault(e => e.Attribute("key").Value == "HostingUrl")?.Attribute("value")?.Value ?? "";
}
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Consts.WebHostBaseFolder)
.UseStartup<Startup>()
.UseUrls(hostingUrl)
.Build();
host.Run();
感謝
是不是隻是調試解決方案? –
nope。我添加了Program.Main代碼,並且當我以發行模式構建並運行.exe文件 –