发布的后置事件命令(Visual Studio 2010)

11

我在Visual Studio 2010中有一个项目。 该项目具有以下后建事件命令行:

SET TARGET_PROJECT=TestMain
IF NOT EXIST "$(TargetDir)IceBox" (
  XCOPY /E /I /Y "$(SolutionDir)Externals\IceBox" "$(TargetDir)IceBox"
)
IF NOT EXIST "$(TargetDir)bzip2.dll" (
  COPY "$(SolutionDir)Externals\IceBox\bzip2.dll" "$(TargetDir)"
)
XCOPY /E /I /Y "$(SolutionDir)Externals\Infragistics" "$(TargetDir)"

但是这些命令只在我创建调试或发布版本时使用。当我发布项目时,这些命令将被忽略。 是否有可能在发布项目时使用这些命令? 谢谢任何帮助。

也许 https://dev59.com/9nA65IYBdhLWcg3w7DP8 会有用。 - Spikolynn
上面的解决方案不起作用。但是这个可以:https://dev59.com/zWIk5IYBdhLWcg3wPL_R - Spikolynn
1个回答

11

我最近也遇到了类似的问题。我想要运行一个命令,但只有在发布应用程序时才需要运行,而不是每次构建都需要。

我添加了一个发布后任务。由于我不直接使用MSBuild,所以我修改了我的解决方案csproj文件。

例如:

解决方案名称:MyKillerApp

项目文件名:MyKillerApp.csproj

使用Notepad++或其他文本编辑器打开文件,并导航到文件末尾,找到此部分(应该几乎在末尾):

  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
  </PropertyGroup>

然后添加您的发布后任务。

  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
  </PropertyGroup>
  <Target Name="AfterPublish">
    <Exec Command="..\..\Documentation\DoxyGenExe\createDocs.bat" />
  </Target>

我的任务运行一个批处理文件,其中运行了Doxygen(一个非常好的文档创建程序)和其他一些任务。

你可以创建一个批处理文件来运行任何命令,这非常方便。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接