10

我在 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)"

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

谢谢你的帮助。

4

1 回答 1

10

我最近遇到了类似的问题。我只想在发布应用程序而不是每次构建时才运行命令。

我添加了一个发布后任务。由于我不直接使用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(一个非常好的文档创建程序)和其他一些任务的 bat 文件。

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

于 2013-04-17T16:45:52.150 回答