2016-04-16 2 views
1

Я разрабатываю свое первое приложение ASP.NET 5, и у меня есть некоторые проблемы с размещенной сборкой на Visual Studio Team Services (была Visual Studio Online). Я получаю сообщение об ошибке:Должен быть установлен пакет Runtime Dnx - размещен контроллер сборки

C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ DNX \ Microsoft.DNX.targets (126,5): Ошибка: пакет времени выполнения Dnx должен быть установленным.

Один ряд, прежде чем я вижу следующее сообщение: Строить Не можете найти DNX выполнения DNX-CLR-беспроигрышная x86.1.0.0- beta8 в папке: C: \ Users \ buildguest.dnx \ среда выполнения

Я нашел решение с Prebuild-Powershell скрипт (https://msdn.microsoft.com/Library/vs/alm/Build/azure/deploy-aspnet5)

Примечание: Я добавил MVC проект ASP.Net 5 к существующему решению. У меня нет файлов global.json и src! Это причина, почему я адаптировали сценарий следующим образом:

& iex((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1')) 
$dnxVersion = "latest" 
& $env:USERPROFILE\.dnx\bin\dnvm install $dnxVersion -Persistent 
Get-ChildItem -Path $PSScriptRoot\..\InternalWeb.Client -Filter project.json -Recurse | ForEach-Object { & dnu restore $_.FullName 2>1 } 

Сценарий выполняется после шага сборки «Получить источники» и имеет следующий вывод:

enter image description here

Но я до сих пор такое же сообщение об ошибке! Что не так? Спасибо за помощь! Michael

ответ

1

Я столкнулся с той же проблемой, и нашел решение, которое сработало для меня. Скрипт PowerShell устанавливает последнюю версию или ту, что вы указали в файле global.json. Так как он не работает без global.json файла и настроек по умолчанию, я добавил global.json файл в мою папку проекта и конкретизирован версия, что я использую:

{ 
    "sdk": { 
     "version": "1.0.0-rc1-update1", 
     "runtime": "coreclr", 
     "architecture": "x86" 
    } 
} 

Первая попытка снова не удалась со следующей ошибкой:

The expected lock file doesn't exist. Please run "dnu restore" to generate a new lock file.

Поэтому я добавил dnu restore в конец сценария PowerShell. Следующая сборка была успешной. Может быть, это тоже работает для вас.

Смежные вопросы