Search code examples
bashmsysgitmsys

`msbuild` command not found, but `msbuild.exe` works fine


I run MSys/Bash as distributed in Git for Windows. I added the folder C:\Windows\Microsoft.NET\Framework\v4.0.30319 to my path, so I could run msbuild but it doesn't work

$ msbuild
C:\Program Files (x86)\Git\bin\sh.exe: msbuild: command not found

Yet msbuild.exe does:

$ msbuild.exe
Microsoft (R) Build Engine version 4.0.30319.17929

Yet the command explorer resolves fine. What's going on?


Solution

  • It's a bug in MSys where the same name is shared by a folder and a file (minus the extension). In this case:

    • File C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
    • Folder C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild

    You'll have to workaround by writing msbuild.exe