【问题标题】:How can I change what App.config gets renamed to?如何更改 App.config 重命名的内容?
【发布时间】:2009-10-01 03:43:21
【问题描述】:

我的项目中有一个 App.config 文件,该文件在构建时被复制到 NameOfExe.exe.config。我的软件的用户有时需要编辑这个文件,但他们可能不熟悉 .NET 是如何做事的(或者计算机一般是如何做事的)。我认为使用这样的文件名可能会使他们感到困惑,带有 .exe.config 扩展名等。

如何为这个复制的文件指定一个新名称(删除 .exe 位)?我应该使用自定义构建命令吗?另外,.NET 会选择配置文件,还是需要该命名方案?

编辑:为了响应重新考虑的建议...应用程序充当服务或控制台应用程序,因此没有用于编辑设置的 GUI。配置文件包含用于连接数据库和 API 服务的设置。在为每个客户进行初始设置后(由我完成),这些值不需要更改。万一确实需要更改值,客户无论如何都需要打电话给我以获取新的连接详细信息,这样我就可以指导他们编辑什么以及如何编辑。当我告诉客户他们需要打开一个名为“.exe.config”的文件时,我只是想避免任何混淆,此时他们错误地启动了“.exe”文件。此外,如果他们需要启动 .exe 文件并启用“隐藏已知文件类型的扩展名”,有些人可能会尝试打开配置文件,然后打电话给我想知道为什么他们会得到一个充满奇怪文本的记事本窗口。

当然,这不是必需的,但我喜欢提前计划。

【问题讨论】:

  • 是的,至少考虑一个你加载的基本文本文件。
  • 如果 .NET Framework 中已经包含该功能,我为什么要重新发明轮子?
  • 因为“让新手用户配置我的 .NET 应用程序”功能没有内置到框架中。您是否真的希望有人会对可能会破坏数据库连接字符串、程序集引用、smtp 设置等的文件扩展名感到困惑?
  • 好的,我看到了你的编辑。皮埃尔-阿兰的回答是完美的。
  • 我遇到了同样的问题 - 我的用户精通技术,而程序寿命很短。很难从一堆中挑出 exe 文件,因为其中一个是 MYAPP.EXE 并且 .config 是隐藏的,所以眼睛会被吸引到那个文件。

标签: .net app-config rename


【解决方案1】:

我同意psychotik 的观点,您应该重新考虑让您的用户弄乱软件配置文件的概念,但您可以使用这个替代方案:

可以引用外部配置文件

<appSettings file="otherlessconfusingname.config" />

【讨论】:

  • +1 在 David Brown 的编辑之后,您的答案似乎是最合适的。
  • 这行得通,是的。但是,由于现在有两个不同的配置文件,原始问题仍然存在(可能与文件名混淆)。
  • 如果您只是依赖 otherlessconfusingname.config 来获取用户配置内容,那不行吗?你可以把任何你喜欢的东西放在那里,以减少混乱。这正是您要求的答案。唯一的选择是在您的应用程序中加载 someotherfile.whatever 的设置,但这与此方法有何不同?
  • 我的意思是,仍然会有一个 .exe.config 文件,正如我所说,这可能会引起混淆。所有这一切都是保留原始配置文件,完成我上面概述的问题,并添加第二个。我已经与这些客户合作了一段时间,因此根据过去的支持电话,我对可能出现的问题有一个很好的了解。我只是想覆盖所有的基础。
【解决方案2】:

在有人告诉你如何改变它(这是可能的而且非常简单)之前,我敦促你重新考虑。

如果您的用户是其他开发人员类型的人,则使用 .exe.config 非常好。 如果他们是消费者,他们不应该弄乱 .exe.config 或其他类似 xml 的文件。您应该为他们提供另一种方式来配置应用程序(设置)。

【讨论】:

    【解决方案3】:

    如果您的用户对文件的名称或扩展名有疑问,他们将如何处理其中的 XML?

    与其浪费精力弄清楚是否可以重命名文件,不如为用户提供一个很好的 GUI,他们可以使用它们来更改相关配置。

    【讨论】:

    • 感谢您的详细解释。您可以开发另一个应用程序来编辑相关配置值,但从您的场景描述来看,这听起来投资回报率极低。我投票赞成其他似乎更能捕捉您所要求的答案之一。
    猜你喜欢
    • 1970-01-01
    • 2016-05-09
    • 2013-06-13
    • 2018-01-31
    • 2011-05-15
    • 1970-01-01
    • 2011-10-21
    • 2011-04-07
    • 2020-09-28
    相关资源
    最近更新 更多