在Windows中创建一个链接,以便可以在没有完整路径的情况下找到msbuild。
问题的出现原因:无法在PowerShell中使用完整路径来调用msbuild。
解决方法:将msbuild二进制文件的路径添加到系统的环境变量中。
在PowerShell中,可以使用以下命令将路径添加到环境变量中:
$Env:Path = ";$Env:Path"
在Batch/Cmd中,可以使用以下命令将路径添加到环境变量中:
set "PATH=
需要注意的是,`
这样做将把msbuild二进制文件添加到系统的环境变量中,从而可以在任何位置调用它。
可以使用`where.exe msbuild`命令来验证msbuild的路径。在PowerShell和Batch/Cmd中都可以使用这个命令。
在此使用`where.exe`作为验证步骤,以检查是否正确将msbuild添加到了`PATH`变量中。
如果你知道大致的位置,你实际上可以使用`where.exe`来发现msbuild的路径,例如:
where.exe /r "C:\Program Files" msbuild
如果你无法在PowerShell中使用完整路径来调用msbuild,可能是因为你错误地将`msbuild.exe`添加到了路径中。需要注意的是,路径不是直接指向可执行文件,而是指向包含msbuild的文件夹路径。
文章整理完毕。
问题出现的原因是,即使创建了一个指向msbuild的链接,也无法在命令行中调用编译器。这就是为什么VS提供了一种方便的方法来设置PATH和其他与构建相关的环境变量的批处理文件。
解决方法是通过运行批处理文件来设置环境变量。对于cmd.exe,可以通过以下命令来调用批处理文件:
> "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat" > msbuild
在开始菜单中也可以调用该批处理文件:点击开始,输入“pro vs”以查找匹配项,选择“Developer Command Prompt for VS2015”。
对于PowerShell,可以使用额外的函数来设置环境变量。可以在PowerShell中添加一个函数来调用批处理文件,具体实现可以参考这里:https://stackoverflow.com/a/21652729/128384
需要注意的是,每次启动需要使用构建工具的进程时都需要调用该批处理文件。它不会设置全局的系统级环境变量,因为这样会导致在不同版本的VS上构建时出现问题。所以每次启动PS或cmd并需要构建工具时,只需调用一次即可。在PowerShell中,可以将这个函数添加到配置文件中,这样就不需要每次都手动调用了。