Я выполняю «Построение проекта или решения Visual Studio с использованием MSBuild» на Jenkins для нескольких проектов для создания пакетов nuget.
Используется MSBuild - последняя версия Visual Studio Build Tools
Версия .NET Core sdk, используемая в проекте, - 1.0.4
Company.Core.csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>
</Project>
Однако при выполнении сборки используемая версия SDK всегда является последней установленной на машине SDK (2.x).
C:\Program Files\dotnet\sdk\2.1.400\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(198,5):
error NETSDK1064: Package Microsoft.CSharp, version 4.0.1 was not found.
It might have been deleted since NuGet restore. Otherwise, NuGet restore might have only partially completed, which might have been due to maximum path length restrictions.
[C:\Workspaces\Company.Core\Company.Core.csproj]
После удаления версии SDK 2.1.400 я получаю сообщение об ошибке:
C:\ProgramFiles\dotnet\sdk\1.1.10\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(308,5):
error : Assets file 'C:\Workspaces\Company.Core\obj\project.assets.json' not found. Run a NuGet package restore to generate this file. [C:\Workspaces\Company.Core\Company.Core.csproj]
Установка, используемая для поддержки .net Core 1.0.4, была .NET Core 1.0.4 & 1.1.1 SDK 1.0.1 , используя инструкции:
Windows Server Hosting
Если вы хотите разместить автономные приложения на серверах Windows,модуль ASP.NET Core для IIS можно установить отдельно на серверах без установки среды выполнения .NET Core.Вы можете загрузить установщик Windows (серверный хостинг) и запустить следующую команду из командной строки администратора:
DotNetCore.1.0.4_1.1.1-WindowsHosting.exe OPT_INSTALL_LTS_REDIST = 0 OPT_INSTALL_FTS_REDIST = 0
Я также добавил RuntimeFrameworkVersion в csproj, который не имел никакого эффекта.
<RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>^
global.json также игнорируется
{
"sdk": {
"version": "1.0.4"
}
}