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

Jea*_*anz 6 app-config visual-studio winforms .net-5

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

我注意到为 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 运营人员不必对此感到疑惑?(他们已经够忙了。)

PMF*_*PMF 3

这一变化的原因与我在那里的回答有关:Is the file format of a Library only a DLL file?

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

请确保您的 C# 库和应用程序没有使用相同的名称。这以前可以在 .NET 框架上运行,但在 .NET Core 上会出现问题。