VSCode: tasks.json: выходной параметр сборки dotnet завершается с MSBUILD: ошибка MSB1001:

Аргументы VSCode tasks.json не обрабатываются MSBuild, как ожидается

Я хочу изменить вывод в другой каталог. Добавление "-o Z:/${workspaceFolderBasename}/bin/Debug/netcoreapp3.0/" в мои аргументы сборки dotnet не работало. (Это ошибки с MSBUILD: ошибка MSB1001: неизвестный переключатель)

Решение: Добавьте два аргумента "-o" и "OutputPath" вместо "-o OutputpPath"

tasks.json

{
"version": "2.0.0",
"tasks": [
    {
        "label": "build",
        "command": "dotnet",
        "type": "process",
        "args": [
            "build",
            "${workspaceFolder}/Core3WinForms.csproj",
            // "-o Z:/${workspaceFolderBasename}/bin/Debug/netcoreapp3.0/" // that one won't work
            "-o",
            "Z:/${workspaceFolderBasename}/bin/Debug/netcoreapp3.0/"
        ],
        "problemMatcher": "$msCompile"
    }
]
}

выход:

Выполнение задачи: C: \ Program Files \ dotnet \ dotnet.exe build> C: \ Dev \ NoControl \ Core3WinForms / Core3WinForms.csproj -o> Z: /Core3WinForms/bin/Debug/netcoreapp3.0/ <

Microsoft (R) -Build-Engine, версия 16.0.225-preview+g5ebeba52a1 для.NET Core Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

MSBUILD: ошибка MSB1001: Unbekannter Schalter. Шальтер: -o Z: /Core3WinForms/bin/Debug/netcoreapp3.0/

Informationen zur Schaltersyntax erhalten Sie, wenn Sie "MSBuild / help" eingeben. Терминальный процесс завершен с кодом выхода: 1

Терминал будет повторно использоваться задачами, нажмите любую клавишу, чтобы закрыть его.

Выполнение задачи: C:\Program Files\dotnet\dotnet.exe build C:\Dev\NoControl\Core3WinForms/Core3WinForms.csproj -o Z:/Core3WinForms/bin/Debug/netcoreapp3.0/ <

Microsoft (R) -Build-Engine, версия 16.0.225-preview+g5ebeba52a1 для.NET Core Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

Wiederherstellung в "49,17 ms" для C:\Dev\NoControl\Core3WinForms\Core3WinForms.csproj" abgeschlossen. C:\Program Files\dotnet\sdk\3.0.100-preview-009812\Sdks\Microsoft.NET.Sdk\target \Microsoft.NET.RuntimeIdentifierInference.targets(142,5): сообщение NETSDK1057: Sie arbeiten mit einer Vorschauversion des .NET Core SDK. Sie können die SDK-Version über eine Datei "global.json" im a actuellen Определение проекта. Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=869452. [C: \ Dev \ NoControl \ Core3WinForms \ Core3WinForms.csproj] Core3WinForms -> Z: \ Core3WinForms \ bin \ Debug \ netcoreapp3.0 \ Core3WinForms.dll

Der Buildvorgang wurde erfolgreich ausgeführt. 0 Warnung (en) 0 Fehler

Verstrichene Zeit 00: 00: 02.63

исключающее задание: C:\Program Files\dotnet\dotnet.exe build C:\Dev\NoControl\Core3WinForms/Core3WinForms.csproj -o Z:/Core3WinForms/bin/Debug/netcoreapp3.0/<Должно работать нормально.

1 ответ

Добавьте два аргумента "-o" и "OutputPath" вместо "-o OutputpPath"

Все еще не уверены, является ли это ошибкой или функцией, и чья это вина, VSCode? MSBuild? Возможно, я виноват в использовании инсайдерских сборок (VSCode) и превью (netcore 3), но это решение сработало для меня.

Я просто пишу, чтобы помочь другим, а не выдвигать свою репутацию, мне наплевать

Другие вопросы по тегам