【问题标题】:Why do I sometimes have an app.config and other times a binaryname.dll.config file?为什么我有时有一个 app.config 而有时有一个 binaryname.dll.config 文件?
【发布时间】:2012-04-01 12:58:23
【问题描述】:

在 .NET 中,在构建项目后,为什么有时会有 app.config 有时会有 binaryname.dll.config 文件?

【问题讨论】:

  • 好问题。另外,为什么会有 binaryname.vshost.exe.config ?
  • @Valamas。因为 Visual Studio 托管进程在启动时也需要一个配置文件。 Visual Studio 托管进程用于:msdn.microsoft.com/en-us/library/ms242202.aspx
  • @Valamas:Visual Studio 创建了一个托管进程来改善调试体验。此进程的名称是binaryname.vshost.exe,为了确保正确配置此进程,它使用了config 文件的副本,该文件已适当重命名以匹配托管进程的名称。有关托管过程的更多信息:msdn.microsoft.com/en-us/library/ms242202.aspx

标签: c# .net app-config configuration-files


【解决方案1】:

您在开发期间(在 Visual Studio 中)将其视为 app.config 文件。部署后(以及在您的 bin 目录中),app.config 变为 binaryname.dll/exe.config 文件(由 Visual Studio 自动重命名)。

至于确切的原因...有一个很好的理由不将它作为 app.config...例如,如果您在同一个目录中部署多个应用程序,您将只能拥有一个应用程序。 config...所以有充分的理由将其命名为 binaryname.dll.config。

所以真正的问题是:为什么它首先命名为 app.config 而不是 binaryname.dll.config?

我能想到的原因之一是你可以随时在项目选项中更改二进制输出名称(因此编译器会生成名称与项目名称不同的 .exe 文件),并将复制配置文件以对应该二进制输出名称。在解决方案中将其命名为 app.config 会更好,因为您总是将相同的文件名复制到某个目标文件名,而无需在解决方案中重命名该文件(这很好,尤其是当该文件受源代码控制时)。可能还有其他原因。

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 2020-07-31
    • 2013-03-05
    • 2015-09-01
    • 1970-01-01
    相关资源
    最近更新 更多