2013-02-26 125 views
9

我在Visual Studio中的项目2010年 该项目具有以下生成后事件命令行:生成后事件命令发布(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)" 

但只是使用这个命令当我创建一个调试或发布。当我发布我的项目时,这个命令将被忽略。 为我发布项目时使用此命令提供了可能性吗?

感谢您的任何帮助。

+0

也许https://stackoverflow.com/questions/3561689/afterpublish-target-not-working将使用 – Spikolynn 2017-08-22 12:23:41

+0

的上述解决方案没有工作好。但是,这样做:https://stackoverflow.com/questions/19456112/afterpublish-script-doesnt-run-when-i-publish-a-web-app – Spikolynn 2017-08-22 12:43:33

回答

9

我最近面临类似的问题。如果我发布了应用程序,而不是每次构建,我都希望只运行一个命令。

我添加了帖子发布task。 因为我不直接使用MSBuild,所以我修改了我的解决方案csproj文件。

例子:

解决方案名称: MyKillerApp

项目文件名: MyKillerApp.csproj

用记事本打开++文件或其他文本编辑器和导航到文件末尾并找到这个部分(应该几乎在最后):

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

然后加入

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

我的任务运行,运行Doxygen(一个很不错的文档制作程序)和其他一些任务的bat文件,你postpublish任务。

您可以创建一个bat文件执行的命令是非常方便的

相关问题