构建后条件检查包含另一个字符串的字符串(而不是 ==)

发布于 2025-01-02 06:38:57 字数 499 浏览 1 评论 0原文

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

如果不是“$(OutDir)”==“二进制文件\”“$(SolutionDir)Tools\NuGet.exe”包“$(ProjectDir)MyAssembly.nuspec”-BasePath“$(ProjectDir)$(OutDir)。 ”

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

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

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

但这不起作用。

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

I have a post build event like this:

if NOT "$(OutDir)" == "Binaries\" "$(SolutionDir)Tools\NuGet.exe" pack "$(ProjectDir)MyAssembly.nuspec" -BasePath "$(ProjectDir)$(OutDir)."

But what I really want to do is check to see if $(OutDir) Contains the word Binaries.

Is there a way to do this? I tried:

if NOT "$(OutDir)".Contains("Binaries") "$(SolutionDir)Tools\NuGet.exe" pack "$(ProjectDir)MyAssembly.nuspec" -BasePath "$(ProjectDir)$(OutDir)."

But it does not work.

So, as a bonus point, what language is the "Post-Build" event supposed to be?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

廻憶裏菂餘溫 2025-01-09 06:38:57

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

这是我最终使用的命令:

@Echo off&Setlocal EnableDelayedExpansion
设置 BinariesVar=二进制文件
设置“PathDir=$(OutDir)”
IF "!PathDir:%BinariesVar%=!" NEQ "%PathDir%" (如果 $(ConfigurationName) == Release "$(SolutionDir)Tools\NuGet.exe" pack "$(ProjectDir)MyAssembly.nuspec" -BasePath "$(OutDir).") else (如果 $ (ConfigurationName) == 发布“$(SolutionDir)Tools\NuGet.exe”包“$(ProjectDir)MyAssembly.nuspec”-BasePath “$(ProjectDir)$(OutDir)。”)

这将使用第一个路径(如果构建不是通过 TFS),而第二个路径则用于 TFS 构建。

Turns out it is MS-Dos. So most batch file kind of stuff is allowed.

Here is the command I ended up using:

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

This will use the first path is the build is not via TFS and the second path for TFS Builds.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文