Хоча наведені вище відповіді правильні, варто відзначити, що MSBuild змінився і він більше не постачається з .net рамкою, він приходить або окремо, або з візуальною студією. Як результат, його двійкові файли переміщені ... тож той, який ви потрапляєте в каталог 4.0.303619, насправді є старим!
Мене щойно навернуло це - я виявив, що автоматичні переадресації прив'язки працювали лише під час запуску з VisualStudio, але не під час запуску msbuild з командного рядка ... підказка полягала в тому, що перенаправлення прив’язки додані у VS 2013 (для цього прочитано. чистий каркас 4.5). Якщо ви відкриєте командний рядок vs, ви побачите, що тепер він отримує його з програмних файлів, як згадується в іншій статті. Тоді як я використовував пакетний файл на своєму шляху, який посилався на стару версію.
Номери версій
У рамках:
PS C:\Windows\Microsoft.NET\Framework\v4.0.30319> .\msbuild.exe -version
Microsoft (R) Build Engine version 4.0.30319.33440
[Microsoft .NET Framework, version 4.0.30319.34014]
Copyright (C) Microsoft Corporation. All rights reserved.
4.0.30319.33440PS C:\Windows\Microsoft.NET\Framework\v4.0.30319>
Під файлами програми:
PS C:\Program Files (x86)\MSBuild\12.0\Bin> .\MSBuild.exe -version
Microsoft (R) Build Engine version 12.0.21005.1
[Microsoft .NET Framework, version 4.0.30319.34014]
Copyright (C) Microsoft Corporation. All rights reserved.
12.0.21005.1PS C:\Program Files (x86)\MSBuild\12.0\Bin>