2013-02-26 79 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文件執行的命令是非常方便的

相關問題