VS2008 – 为调试/发布配置输出不同的文件名

使用Visual Studio 2008构建C#应用程序时,是否可以为每个配置设置不同的输出文件名?

eg MyApp_Debug.exe MyApp_Release.exe 

我尝试了一个后期构建步骤,通过附加当前配置来重命名该文件,但这似乎是一种糟糕的方法。 另外,这意味着当按F5开始调试时,Visual Studio无法再找到该文件。

您可以通过手动编辑项目文件来实现此目的。 找到节点并向其添加条件属性:

 MyApp_Debug.exe MyApp_Release.exe 

您还必须复制它以为发布版本添加另一个条件属性。

虽然有可能,但可能会引起问题。 AssemblyConfiguration属性可以应用于程序集。 在AssemblyInfo.cs ,放入:

 #if DEBUG [assembly: AssemblyConfiguration("Debug")] #else [assembly: AssemblyConfiguration("Release")] #endif 

这将向已编译的程序集添加一个属性,该属性将告诉您使用应用程序构建的构建配置。

正如adrianbanks所提到的,您可以手动编辑.csproj文件来完成此任务。

不过我会推荐更简单的forms:

 MyApp_$(Configuration).exe 

但是,如果您编辑此项目的属性,则很可能会丢失此更改。 这是你必须手动保持在最重要的东西,因为它不会是一个支持的设置。

要手动编辑项目定义,请在Visual Studio中右键单击项目,然后选择“卸载”,然后右键单击卸载的项目,并选择“编辑”,它将为您打开XML定义。

我确信有,但根据我的经验,调试/发布配置的不同文件名是一个坏主意,因为它可能会导致各种问题(非常类似于VS尝试执行重命名的应用程序时的问题)

为什么不简单地指出它在Assembly属性中的调试/发布(例如在注释中)