Создание приложения .NET Core 1.0 RC2 на сервере сборки

Я обновил свое приложение от DNX, ASP.NET 5 RC1 до ASP.NET Core 1.0 RC2. Локально он строит и работает нормально.

На сервере сборки у меня нет установленной Visual Studio, и сбой сборки:

Ошибка MSB4019: импортированный проект "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props" не найден. Убедитесь, что путь в объявлении правильный, и что файл существует на диске.

Я установил: .NET Core SDK для Windows. Попытка установить предварительный просмотр инструмента VS 2015 завершается неудачей:

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

Какова была бы правильная настройка для создания приложения .NET Core 1.0 RC2 на сервере сборки без необходимости установки Visual Studio 2015?

Примечание. Блок сборки (TeamCity 9) строит/запускает тесты для .NET 4.5 и DNX.

Ответ 1

Таким образом, без Visual Studio или Web Deploy моя сборка TeamCity состоит из 4 шагов сборки:

dotnet restore
dotnet build
dotnet test
dotnet publish -c Release

Я выполняю тест dotnet для всех проектов с базовым циклом.

Ответ 2

https://docs.microsoft.com/en-us/dotnet/articles/core/windows-prerequisites#issues

Проблемы Возможно, вам будет запрещено устанавливать .NET Core Tooling Preview 2 для установщика Visual Studio 2015 из-за временной ошибки. Чтобы обойти это, запустите установщик из командной строки с аргументом SKIP_VSU_CHECK=1, как вы видите в примере ниже.

DotNetCore.1.0.0-VS2015Tools.Preview2.exe SKIP_VSU_CHECK=1

Ответ 3

Теперь я могу построить решение. Пока не удается опубликовать.

Я просто скопировал все новые материалы MSBuild на сервер сборки. Я скопировал:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\

От моего локального компьютера до сервера сборки. Это включает новую подпапку DotNet, которая содержит:

Microsoft.DotNet.Common.targets
Microsoft.DotNet.Extensions.targets
Microsoft.DotNet.props
Microsoft.DotNet.Publishing.targets
Microsoft.DotNet.targets
Microsoft.DotNet.Tasks.dll
Microsoft.VisualStudio.ProjectSystem.DotNet.Runtime.dll
Newtonsoft.Json.dll

Я могу создать решение (без аргументов публикации), когда я пытаюсь выполнить его:

MSBuild.exe Solution.sln /p: DeployOnBuild = true/p: publishprofile = local

Ответ 4

Вы можете создавать и тестировать проект через командную строку, поэтому нет необходимости устанавливать Visual Studio. Используя шаги сборки типа "Командная строка", вы можете запускать: восстановление в dotnet, сборку dotnet, тест dotnet

Здесь вы можете найти описание, как запустить это как сборку на TFS. Он написан для размещенной TFS, но работает также на месте (и предназначен не только для лазурного, как может подразумевать название документа): https://www.visualstudio.com/en-us/docs/build/apps/aspnet/aspnetcore-to-azure

Для pubsishing я использовал msdeploy с RC1, но еще не выполнил миграцию моей сборки развертывания. Я могу зарегистрировать его здесь, когда это будет сделано в течение следующих дней.