Способ указать msbuild из какой версии. net framework на Ma c? - PullRequest
0 голосов
/ 20 января 2020

Попытка создания сценария сборки с использованием Psake. Net Проекты Core 3 на Ma c.

Вызов Psake с указанными c framework,

Invoke-psake -buildFile default.ps1 `
             -taskList Test `
             -framework netcoreapp3.0 `
             -properties @{ 
                 "buildConfiguration" = "Release"
                 "buildPlatform" = "Any CPU"} `
             -parameters @{ 
                 "solutionFile" = "PaymentGateway.sln"}

и используйте msbuild для решения.

Exec {
        msbuild $SolutionFile "/p:Configuration=$buildConfiguration;Platform=$buildPlatform;OutDir=$temporaryOutputDirectory"
    }

Не компилируется. Кажется, он использует 'mono msbuild', глядя на сообщение об ошибке.

"/ Users / jakeryu / RiderProjects / PaymentGateway / PaymentGateway.sln" (цель по умолчанию) (1) -> "/ Users /jakeryu/RiderProjects/PaymentGateway/Bank/Bank.csproj "(цель по умолчанию) (8) -> /Library/Frameworks/Mono.framework/Versions/5.18.1/lib/mono/msbuild/15.0/bin/Sdks/Microsoft . NET .Sdk / target / Microsoft. NET .TargetFrameworkInference.targets (137,5): ошибка NETSDK1045: текущий. NET SDK не поддерживает таргетинг. NET Core 3.0. Либо цель. NET Core 2.1 или ниже, либо использовать версию. NET SDK, которая поддерживает. NET Core 3.0. [/Users/jakeryu/RiderProjects/PaymentGateway/Bank/Bank.csproj]

У меня установлена ​​среда выполнения и SDK для dotnetcore3, как показано ниже, и текущая версия 3.0.100.

do tnet - версия 3.0.100

dotnet --info

Я не могу понять, почему msbuild происходит от моно рамки, а не. net ядро. Есть ли способ указать, какой msbuild должен использоваться на Ma c?

1 Ответ

0 голосов
/ 20 января 2020

Вы можете использовать dotnet msbuild в качестве замены для msbuild, чтобы использовать версию MSBuild, входящую в комплект. NET Core.

...