Сборка выполнена успешно с проектами Ctrl + Shift + B, которые MSBuild не может собрать

Кто-нибудь знает, где я могу посмотреть на мой проект, если после того, как я сделаю сборку с MSBuild через консоль MSBuild, я получу это предупреждение:

MSB4078: Файл проекта 'MyProject.csproj' не поддерживается MSBuild и не может быть собран?

Мой проект работает с Target Framework .Net Core 2.0. Используемая версия MSBuild - 14.0.25420.1.

введите описание изображения здесь

Это cs.proj

введите описание изображения здесь

3 ответа

Решение

Пожалуйста, проверьте, какую версию MSBuild вы используете. Я тестировал с версией 15.0, она работает без ошибок.

Как правило, убедитесь, что вы настроили агент сборки для своего командного проекта, и что на компьютере агента установлена ​​Visual Studio 2017, а также установлено последнее обновление Visual Studio.

Также убедитесь, что вы выбрали MSbuild версии 15.0 для сборки.

Подробнее см. В разделе " Сборка приложения ASP.NET Core".

Ссылка на эту тему: Поддержка.NET Core .csproj файлов

Вы используете новый формат файла csproj (см. Project sdk=...)

Вам нужно будет использовать MSBuild 15 для его сборки. У вас есть два варианта:

1) Загрузите инструменты сборки для Visual Studio 2017 и установите. Тогда путь будет:

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

2) Если у вас установлена ​​VS, путь будет:

C:\Program Files (x86)\Microsoft Visual Studio\2017\<VS Version>\MSBuild\15.0\Bin

Использование MSBuild 15 должно исправить ошибку.

Я предлагаю использовать MSBuild более надежным способом.

  1. Загрузите инструменты сборки для Visual Studio 2017 со страницы загрузок Visual Studio, включая последнюю версию MSBuild 15.* ( прямая ссылка).

    Аргументы командной строки, задокументированные здесь: Используйте параметры командной строки для установки Visual Studio 2017.

    Все рабочие нагрузки и компоненты перечислены здесь: Каталог компонентов Visual Studio Build Tools 2017.

  2. Использовать модуль PowerShell VSSetup найти MSBuild. Загрузите его или установите здесь: Github: модуль установки Microsoft/Visual Studio PowerShell

Найти MS Build

Import-Module $PSScriptRoot\VSSetup\VSSetup.psd1

$msBuildPath = (Get-VSSetupInstance | Select-VSSetupInstance -Version 15.0 -Product Microsoft.VisualStudio.Product.BuildTools).InstallationPath

if ([System.IntPtr]::Size -eq 8)
{
    $global:msbuildPath = Join-Path $msBuildPath 'MSBuild\15.0\Bin\amd64'
}
else
{
    $global:msbuildPath = Join-Path $msBuildPath 'MSBuild\15.0\Bin'
}

Write-Output "Using MSBuild from $global:msbuildPath"
Write-Output "MSBuild /version"

$msbuild = Join-Path $global:msbuildPath msbuild

& $msbuild /version
Другие вопросы по тегам