VS2008 - 用于调试/发布配置输出不同的文件名(VS2008 - Outputting a

2019-06-25 07:13发布

当建立在Visual Studio 2008中的C#应用​​程序,是不是可以设置每个配置不同的输出文件名?

e.g.

MyApp_Debug.exe
MyApp_Release.exe

我尝试了生成后步骤通过附加当前配置的文件重命名,但似乎零碎的做法。 加上它意味着,按F5时开始调试Visual Studio中再也找不到该文件。

Answer 1:

您可以通过手动编辑您的项目文件实现这一目标。 找到<AssemblyName>节点和条件属性添加到它:

<AssemblyName Condition="'$(Configuration)'=='Debug'">MyApp_Debug.exe</AssemblyName>
<AssemblyName Condition="'$(Configuration)'=='Release'">MyApp_Release.exe</AssemblyName>

你必须重复它也增加另一个条件属性的发行版本。

虽然它是可能的,它可能会导致问题。 有一个AssemblyConfiguration可以应用到你的程序集属性。 在AssemblyInfo.cs ,提出:

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

这将添加一个属性编译的组件会告诉你哪个构建配置您的应用程序是使用内置。



Answer 2:

作为adrianbanks提到的,你可以通过手工编辑的.csproj文件来实现这一点。

我会,但是reccomend的简单的形式:

<AssemblyName>MyApp_$(Configuration).exe</AssemblyName>

如果你不过编辑该项目的属性,这种变化将很可能会丢失。 这件事情,你必须手动留在上面,因为它不会是一个支持的安装。

要手动编辑您的项目定义,右键单击Visual Studio中的项目,并选择“卸载”,然后用鼠标点击卸载项目,然后选择“编辑”,它就会打开XML定义你。



Answer 3:

我敢肯定,但是有,在具有调试/释放配置文件名不同我的经验是一个糟糕的主意,因为它可能会导致各种问题(很喜欢这个问题,当它试图执行重命名的应用程序VS有)

为什么不直接表明在大会的调试/释放与否属性(例如在评论)



文章来源: VS2008 - Outputting a different file name for Debug/Release configurations