0

我有一个像这样的后期构建事件:

如果不是 "$(OutDir)" == "Binaries\" "$(SolutionDir)Tools\NuGet.exe" pack "$(ProjectDir)MyAssembly.nuspec" -BasePath "$(ProjectDir)$(OutDir)."

但我真正想做的是检查 $(OutDir) 是否包含单词Binaries

有没有办法做到这一点?我试过了:

如果不是 "$(OutDir)".Contains("Binaries") "$(SolutionDir)Tools\NuGet.exe" pack "$(ProjectDir)MyAssembly.nuspec" -BasePath "$(ProjectDir)$(OutDir)."

但它不起作用。

那么,作为奖励点,“构建后”事件应该是什么语言?

4

1 回答 1

1

原来是MS-Dos。所以大多数批处理文件类型的东西都是允许的。

这是我最终使用的命令:

@Echo off&Setlocal EnableDelayedExpansion
set BinariesVar=Binaries
set "PathDir=$(OutDir)"
IF "!PathDir:%BinariesVar%=!" NEQ "%PathDir%" (如果 $(ConfigurationName) == Release "$(SolutionDir)Tools\NuGet.exe" pack "$(ProjectDir)MyAssembly.nuspec" -BasePath "$(OutDir).") 否则(如果 $ (ConfigurationName) == Release "$(SolutionDir)Tools\NuGet.exe" pack "$(ProjectDir)MyAssembly.nuspec" -BasePath "$(ProjectDir)$(OutDir).")

这将使用第一个路径是构建不是通过 TFS 和 TFS 构建的第二个路径。

于 2012-02-03T22:25:05.947 回答