VS2019 - msbuild не распознается как внутренняя или внешняя команда - PullRequest
1 голос
/ 04 октября 2019

Я использую сообщество VS2019 и установил событие перед сборкой:

msbuild "$(ProjectPath)" /t:Clean

Я получаю сообщение об ошибке:

  'MSBuild' is not recognized as an internal or external command,
  operable program or batch file

Как это возможно? Разве эта команда не должна быть встроена в Visual Studio?

Я проверил это и попытался установить путь среды, но это не помогает.

У кого-нибудь еще есть такая же проблема с этой командой в VS2019?

Ответы [ 2 ]

1 голос
/ 15 октября 2019

При последнем обновлении до VS2019 - версия 16.3.4 - ошибки больше нет.

1 голос
/ 07 октября 2019

Шаги, которые работают в моей машине:

  1. См. это , сначала нам нужно убедиться, что MSBuild может быть распознано cmd.exe.

  2. Если команда может быть распознана cmd.exe, но не событием сборки из VS, перезагрузка ПК поможет решить эту проблему.

    (Что-то странное в том, что для меняVS все еще не может распознать его до перезагрузки компьютера)

  3. Для VS2019 правильный путь msbuild равен C:\Program Files (x86)\Microsoft Visual Studio\2019\xxx\MSBuild\Current\Bin

ИВот еще один обходной путь:

Помимо добавления пути msbuild.exe в Environment Path и вызова его в событии pre-build, вы также можете рассмотреть возможность использования MSBuild Task .

Добавьте скрипт ниже в xx.csproj :( работа для .net framework ...)

  <Target Name="MyCleanBeforeBuild" BeforeTargets="BeforeBuild">
    <MSBuild Projects="$(ProjectPath)" Targets="clean"/>
    <!--<Message Text="Custom Clean" Importance="high"/>-->
  </Target>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...