2009-09-30 50 views
2

我的项目中有一个App.config文件,它在构建时被复制到NameOfExe.exe.config。我的软件的用户有时需要编辑此文件,但他们可能不熟悉.NET如何执行操作(或者计算机通常如何操作)。我认为使用这样的文件名可能会让他们感到困惑,扩展名为.exe.config等。如何更改App.config被重命名为?

如何为此复制文件指定新名称(删除.exe位)?我应该使用自定义生成命令吗?另外,.NET是否会接受配置文件,还是需要命名方案?

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

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

+0

是的,考虑一个基本的文本文件,而不是至少加载。 –

+0

如果功能已经包含在.NET框架中,为什么我应该重新发明轮子? –

+0

因为“让新手用户配置我的.NET应用程序”的功能没有被构建到框架中。你真的想要一个会被一个文件扩展名困扰的人搞砸了数据库连接字符串,程序集引用,smtp设置等吗? –

回答

6

psychotik同意,你应该考虑让你的用户乱用软件的配置文件的概念,但你可以用这个替代:

有可能参考外部配置文件

<appSettings file="otherlessconfusingname.config" /> 
+0

+1大卫布朗编辑后,你的答案似乎是最合适的。 –

+0

这是可行的,是的。但是,原来的问题仍然存在(可能与文件名称混淆),并增加了两个不同的配置文件。 –

+0

不是如果你只是依赖于其他配置文件的用户配置的东西?你可以放任何你喜欢的东西,以减少混淆。这正是你要求的答案。这里唯一的选择是在其他文件的应用程序中进行设置加载。但是与这种方法有什么不同? –

2

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

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

2

如果您的用户在文件的名称或扩展名方面存在问题,他们将如何处理其中的XML?

不要浪费精力去弄清楚你是否可以重命名文件,而是给你的用户一个很好的GUI,他们可以用它来改变相关的配置。

+0

我编辑了我的问题来进一步解释。 –

+0

感谢您的详细解释。您*可以*开发另一款应用程序来编辑相关配置值,但是从您的场景描述中,这听起来像投资回报极其糟糕。我投了一个似乎更好地捕捉你所要求的其他答案之一。 –