2016-12-19 2 views
0

В настоящее время я пытаюсь получить тестовый проект ASP.NET Core 1.1 для сборки в рамках microsoft/aspnetcore-build: 1.1 .0-msbuild изображение докера.Создайте проект ASP.NET Core 1.1 Preview4 в Docker-image microsoft/aspnetcore-build: 1.1.0-msbuild

Я запускаю Docker на Windows 10 Pro 64 и установил новый CLI/SDK (1.0.0-preview4-004233). И я думаю, что есть проблема. Текущее изображение использует (1.0.0-preview3-004056) и выдает ошибку «ошибка MSB4057: целевое восстановление не существует в проекте». когда я выполняю «восстановление dotnet» в рабочем контейнере в интерактивном режиме.

Мой вопрос: Является ли это несоответствием версии, которое создает ошибку, или я что-то упускаю? Я предполагаю, что это связано с некоторыми специфическими изменениями msbuild между preview3 и preview4. Могу ли я создать собственное изображение докеров, которое использует правильную версию SDK? Ссылки на хорошие учебные пособия очень ценятся.

Шаги для репликации:

  • Установите новейшую 1.1 SDK
  • Открыть Powershell и перейти в новый и пустой папке проекта
  • Validate, что у вас есть preview4 "DotNet --info"
  • Создать новый проект «dotnet new -t Web»
  • Откройте файл * .csproj с заменой файла netcoreapp1.0 на netcoreapp1.1 и Версия Microsoft.NETCore.App на «1 .1.0" .
  • восстановления пакетов "DotNet восстановление"
  • теста с "Dotnet перспективе"
  • Start Докер-контейнер в интерактивном режиме докер запуска -IT --rm -v "$ PWD:/SLN" --workdir/SLN Microsoft/aspnetcore-сборка: 1.1.0-MSBuild
  • в бегущем использовании контейнера "DotNet восстановление", чтобы заставить ошибку

Приветствия Martin

ответ

1

Инструментальное еще в предварительном просмотре, и Ther e - огромные движения относительно формата файла проекта xproj/csproj. Поэтому очень вероятно, что различия между preview3 и preview4 имеют решающее значение для вашего проекта.

Установите соответствующий (предварительный просмотр) CLI на свой компьютер.

Там нет удобного списка др версий на сайте MS, но in docker image you can see download location так:

https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-dev-debian-x64.$DOTNET_SDK_VERSION.tar.gz 

Замените переменные с заданными значениями: 1.0.0-preview3-004056 и dotnet-dev-win-x64.1.0.0-preview3-004056.exe (вторая догадка, используя уточненный файл имена от download page).

Теперь вам нужно настроить приложение для использования соответствующей версии оснастки (теперь у вас есть две установленные). Создать global.json файл с:

{ 
    "sdk": { 
    "version": "1.0.0-preview3-004056" 
    } 
} 

Чтобы проверить: работает dotnet --version из раствора директории (или ниже) напечатает 1.0.0-preview3-004056, во время работы с какой-либо другой папке напечатает 1.0.0-preview4-004233