0

我有這樣一個後生成事件:後生成的條件,對於含有另一個字符串(而不是==)的字符串檢查

如果沒有「$(OUTDIR)」 ==「雙星\」「 $(SolutionDir)Tools \ NuGet.exe「pack」$(ProjectDir)MyAssembly.nuspec「-BasePath」$(ProjectDir)$(OutDir)。「

但我真正想要做的是檢查,看看是否$(OUTDIR)包含二進制

有沒有辦法做到這一點?我想:

如果沒有 「$(OUTDIR)」 包含( 「二進制」) 「$(SolutionDir)工具\ NuGet.exe」 包 「$(PROJECTDIR)MyAssembly.nuspec」 -BasePath「$( PROJECTDIR)$(OUTDIR)「。

但它不起作用。

因此,作爲一個獎勵點,「後構建」事件應該是什麼語言?

回答

1

原來是MS-Dos。所以大多數批處理文件都是允許的。

這裏是我結束了使用命令:

關閉@echo & SETLOCAL EnableDelayedExpansion
集BinariesVar =二進制
集 「PathDir = $(OUTDIR)」
IF「PathDir:%! BinariesVar%=!」 NEQ「%PathDir%」(如果$(ConfigurationName)== Release「$(SolutionDir)Tools \ NuGet.exe」pack「$(ProjectDir)MyAssembly.nuspec」-BasePath「$(OutDir)。」)else(if $ (ConfigurationName)==發佈 「$(SolutionDir)工具\ NuGet.exe」 包 「$(PROJECTDIR)MyAssembly.nuspec」 -BasePath 「$(PROJECTDIR)$(OUTDIR)。」)

這將使用第一條路徑是構建不是通過TFS,而是TFS構建的第二條路徑。

+0

嗯...爲什麼要使用舊的,難以管理的,不可維護的cmd風格的構建後事件而不是MSBuild的'AfterBuild'事件或甚至TFS自定義活動? – KMoraz 2012-02-04 16:42:52

相關問題