迁移到 .Net Core 5 - 生成的 .config 文件的名称已更改

Migration to .Net Core 5 - The generated .config file's name has changed

我正在将我们的一个 Visual Studio 解决方案迁移到 .Net Core 5。它有两个项目:Visual Basic 中的 WinForms 应用程序(遗留)和 C# 中的 class 库。

我注意到为 WinForms 应用程序生成的 .config 文件的名称与以前的版本不同:以前是 {WinForms 应用程序名称}。exe.config 现在是 {WinForms 应用程序名称}.dll.config.

我找不到有关此名称更改的文档。

我担心的是我们的版本更新过程。在我们软件的每个新版本上,我们都会向我们的 IT 运营人员提供 .exe 和 .dll 文件,他们会设置它们以供使用。如果 .config 文件发生了变化,我们还会为其提供一条注释,告诉他们要添加、删除或更新哪些节点。

现在,我不知道可执行文件是否能与旧名称格式的配置文件一起正常工作。所以我已经试验过了。首先,我更改了 .dll.config 文件的键值并直接启动 .exe。通常情况下,这些变化会被考虑在内。然后我再次将 .dll.config 文件重命名为 .exe.config,并重新启动 .exe。这一次,应用程序使用初始值,即使我再次更改 .exe.config 文件。

我还尝试过手动重命名配置文件:简单地(并且可预测地)构建解决方案会创建一个新的 .dll.config 文件。

  1. 某处有关于此的文档吗?
  2. 有没有一种方法可以撤消此名称更改,这样我们的 IT 运营人员就不必担心了? (他们已经够忙了。)

此更改的原因与我在那里的回答有关:Is the file format of a Library only a DLL file?

.NET 核心应用程序的 .exe 文件只是一个存根加载程序。实际代码在 .dll 文件中。请注意,对于应用程序项目,您现在同时拥有 application.dll 以及 application.exe。我很少操作配置文件,所以我不太确定那里的条目,但如果它适用于 .dll.config,那么就使用它。无论如何,您都必须将更改告诉您的 IT,因为可能还有其他重大更改(他们可能还需要安装新框架等)。

请确保您的 C# 库和应用程序未使用相同的名称。这以前适用于 .NET Framework,但将成为 .NET Core 的问题。