如何为 msbuild 编写 cmd shim?

如何为 msbuild 编写 cmd shim?

办公室里的人经常问我“如何运行这些测试?”我告诉他们,浏览到 Build 文件夹,打开命令提示符,然后运行msbuild /t:Tests

这对我有用,因为 msbuild 在我的路径中

> where msbuild.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

然而,它并不适用于其他人,因为他们的路径中可能没有该文件夹。解释如何更改这一点很乏味。

是否可以让该命令对每个人都有效,即使他们的路径中没有该文件夹?

我设想msbuild.cmdBuild 文件夹中有一个文件可以修复这个问题。它将运行实际msbuild.exe相同的论点(并非总是如此/t:Tests)。它会首先在路径中查找msbuild.exe,然后在中查找C:\Windows\Microsoft.NET\Framework\v4.0.30319

答案1

@echo off
REM This shim helps anyone who doesn't have msbuild in their path.

for %%X in (msbuild.exe) do (
    msbuild.exe %*
    exit /b
)

echo "You should probably add msbuild to your path."

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" %*
exit /b

相关内容