4

我有一个构建并放置到安装项目中进行部署的exe。 我想在包含在安装项目中之前重命名生成的exe文件(到一个.scr文件 - 它是一个屏幕保护程序)。我该怎么做呢?在包含到安装项目中之前重命名项目输出

我知道我可以重命名后的文件安装过程,但我不想做这种方式,我想纳入安装项目之前要重命名的文件

任何帮助将是巨大的感谢 我使用Visual Studio 2008和程序用C#编写

感谢

回答

4

我找到了答案在MSDN

你需要设置你的的csproj文件中的一些AfterBuild事件(手动编辑),这里是我的样子

<Target Name="AfterBuild"> 
<Copy SourceFiles="$(TargetDir)\$(TargetName).exe" DestinationFiles="$(ProjectDir)\bin\$(ConfigurationName)\smileyscreensaver.scr" SkipUnchangedFiles="true" /> 
</Target> 
+0

至少在VS2015中,这似乎不起作用 - 项目的主要输出仍然是.exe,而不是复制的.scr文件。必须手动将输出添加到设置。 – NetMage 2016-01-21 22:38:59

3

你可以作为后生成事件的项目(即构建EXE项目,而不是安装项目添加了重命名命令)。

右键单击该项目并转到“属性”。然后在左侧的选项卡中选择“构建事件”。

在后期构建命令行框中,您可以输入重命名命令。如果你点击编辑按钮,有一些助手宏,你会发现你的命令行中包含构建输出/项目目录很有用。

+0

我都试过,但得到一个错误:(我尝试过和没有del) 错误命令“del”screensaver.scr“ 重命名”D:\ App Development \ ScreenSaver \ ScreenSaver \ bin \ Release \ Screen Saver.exe“ screensaver.scr“”用代码1退出。\t ScreenSaver – Chris 2010-03-10 21:35:29

+0

@Chris:尝试查看输出窗口,您可能会发现更详细的错误消息。 – 2010-03-10 21:44:58

+0

它表示以下内容: 存在重复的文件名,或者找不到该文件。 - 如何静默或覆盖此错误? – Chris 2010-03-10 21:47:01

0

VS2005中安装项目中的项目具有TargetName属性。 2008年有这个,它会为你工作吗?