在Windows中创建一个链接,以便可以在没有完整路径的情况下找到msbuild。

15 浏览
0 Comments

在Windows中创建一个链接,以便可以在没有完整路径的情况下找到msbuild。

我不确定如何做到这一点... 我主要在OSX和Linux系统上工作,所以当我安装应用程序或者使用例如G++或xcodebuild时,我只需要在终端中调用它们。

在Windows上,我确实使用VS2015安装了msbuild,但是如果我在powershell或者普通命令提示符中输入msbuild会导致错误。我必须指定完整的路径才能使其工作。

在Windows世界中,如何设置控制台,以便当我输入msbuild时,它能够获取正确的路径?

0
0 Comments

问题的出现原因:无法在PowerShell中使用完整路径来调用msbuild。

解决方法:将msbuild二进制文件的路径添加到系统的环境变量中。

在PowerShell中,可以使用以下命令将路径添加到环境变量中:

$Env:Path = ";$Env:Path"

在Batch/Cmd中,可以使用以下命令将路径添加到环境变量中:

set "PATH=;%PATH%"

需要注意的是,``是msbuild.exe所在的文件夹路径,而不是直接的可执行文件路径。

这样做将把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的文件夹路径。

文章整理完毕。

0
0 Comments

问题出现的原因是,即使创建了一个指向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中,可以将这个函数添加到配置文件中,这样就不需要每次都手动调用了。

0