发布 .NET Core 6.0 控制台应用程序后运行 exe 时出错

问题描述 投票:0回答:1

我有一个需要部署的 .NET Core 6.0 控制台应用程序。它是使用 Visual Studio 2022 用 C# 编写的,并使用

app.config
文件。

我在 VS 中创建了一个发布配置文件(参见屏幕截图),并将其部署到本地进行测试,然后再部署到我的服务器(附上创建的文件列表)。我使用

.\executablename.exe
运行该应用程序,它确实运行了,但导致了错误。它不会读取配置文件来提取运行应用程序所需的值。我在这里缺少什么?

注意:如果我从项目所在的文件夹运行应用程序,则该应用程序可以从命令行正常运行。但是,我想要一个独立的部署,因此不需要在服务器上安装 .NET Core 6.0。

c# console .net-6.0 publish
1个回答
0
投票

问题是,运行时,应用程序会查找名为

{AssemblyFileName}.config
的文件。

当您从 dll 运行它时,它会查找

{ProjectName}.dll.config

当您将其作为独立的可执行文件运行时,您的配置处理程序会搜索文件

{ProjectName}.exe.config
,该文件不存在。

将文件

{ProjectName}.dll.config
复制到名为
{ProjectName}.exe.config
的新文件中,即可运行。

(就我而言,这是 dotnet 工具中的一个错误。

*.exe.config
文件应该由构建/发布过程自动创建。)

© www.soinside.com 2019 - 2024. All rights reserved.