gpt4 book ai didi

topshelf - 作为服务运行时,带有 Topshelf 的控制台应用程序抛出异常

转载 作者:行者123 更新时间:2023-12-02 02:51:48 25 4
gpt4 key购买 nike

我开发了一个连接到 RabbitMQ 然后处理一些消息的控制台应用程序。我正在使用 Topshelf 允许作为服务执行而没有(在纸上)问题,但是当我将它作为服务运行时,我得到以下异常

Application: XXX.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.IO.FileNotFoundException at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean) at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load() at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(System.Collections.Generic.IList`1) at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build() at XXX.Program.Main(System.String[])



现在我认为它以某种方式丢失了配置文件或某些 dll,但我将所有文件放在 c:\services\myservice 文件夹中。如果我从命令提示符运行 exe,它可以完美运行。

我还尝试将身份设置为网络服务/管理员用户和类似的......但没有运气。我正在使用 TopShelf 4.0.4

有什么建议吗?
谢谢

解决方案

是我的错...

我不得不使用
var builder = new ConfigurationBuilder()
.SetBasePath(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location))
.AddJsonFile("appsettings.json")
.AddJsonFile("appsettings.{environmentName}.json",true,true);

代替
 var builder = new ConfigurationBuilder() 
.SetBasePath(Directory.GetCurrentDirectory()) //(which is the default code present on MS site)
.AddJsonFile("appsettings.json")
.AddJsonFile("appsettings.{environmentName}.json",true,true);

最佳答案

正如@bozoJoe 所建议的,这是我的问题的答案,请投票

解决方案
是我的错...

我不得不使用

var builder = new ConfigurationBuilder()
.SetBasePath(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location))
.AddJsonFile("appsettings.json")
.AddJsonFile("appsettings.{environmentName}.json",true,true);

代替
var builder = new ConfigurationBuilder() 
.SetBasePath(Directory.GetCurrentDirectory()) //(which is the default code present on MS site)
.AddJsonFile("appsettings.json")
.AddJsonFile("appsettings.{environmentName}.json",true,true);

关于topshelf - 作为服务运行时,带有 Topshelf 的控制台应用程序抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51933747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com