用于发布的构建后事件命令(Visual Studio 2010)

War*_*ius 10 publish visual-studio-2010 post-build-event

我在visual studio 2010中有一个项目.这个项目有以下post-build事件命令行:

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)"
Run Code Online (Sandbox Code Playgroud)

但是这个命令只在我创建调试或发布时使用.当我发布我的项目时,将忽略此命令.在发布项目时,是否可以使用此命令?

谢谢你的帮助.

Ter*_*iux 10

我最近遇到了类似的问题.如果我发布应用程序而不是每次构建,我都想'仅'运行一个命令.

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

例:

解决方案名称: MyKillerApp

项目文件名: MyKillerApp.csproj

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

  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

然后添加您的postpublish任务

  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
  </PropertyGroup>
  <Target Name="AfterPublish">
    <Exec Command="..\..\Documentation\DoxyGenExe\createDocs.bat" />
  </Target>
Run Code Online (Sandbox Code Playgroud)

我的任务运行一个bat文件,运行Doxygen(一个非常好的文档创建程序)和一些其他任务.

您可以创建一个bat文件来运行任何命令都非常方便