Как создать пакет MSDeploy для приложения ASP.Net 5, предназначенного для .Net Core

Я пытаюсь настроить Visual Studio Online для непрерывного развертывания приложения ASPNET 5 в веб-приложении Azure, как описано в этом руководстве из документации Team Foundation Build:https://msdn.microsoft.com/Library/vs/alm/Build/azure/deploy-aspnet5

Я выполнил все шаги и все работает отлично. По умолчанию этот сценарий развертывает сборку моего приложения, предназначенную для полного .Net 4.5.1 DNX, поэтому я решил попробовать и изменить его для развертывания для .Net Core.

Сценарий сборки создает пакет развертывания, вызывая:msbuild.exe /t:Build,FileSystemPublish После подробного изучения журнала и чтения соответствующих файлов msbuild я узнал следующее:

В конечном итоге цель «Build» использует dnx.exe для компиляции проекта. Поскольку файл project.json включает в себя как TFM dnx451, так и coreclr, этот шаг создает выходные данные сборки для обеих платформ - пока что это хорошо.

Однако цель FileSystemPublish, похоже, выводит только пакет msdeploy, предназначенный для среды выполнения .Net 4.5.1. Из журналов видно, что выполнение цели FileSystemPublish в конечном итоге вызывает команду «dnu publish» и в моих случаях передает «dnx-clr-win-x86.1.0.0-beta6» в качестве параметра -runtime. Когда я проследил за «хлебными крошками», чтобы выяснить, откуда он получает значение «dnx-clr-win-x86.1.0.0-beta6», я в итоге оказался в задаче «GetRuntimeToolingPath» в Microsoft.DNX.Tasks.dll. Эта задача, кажется, ищет в global.json правильное время выполнения для использования, но странным образом внутреннее переопределение этого значения с помощью «x86» и «clr» перед созданием возвращаемой строки.

Если я правильно истолковал вещи, похоже, что цель FileSystemPublish (в Microsoft.DNX.Publishing.targets) по сути (косвенно) жестко связана с использованием полного x86-фреймворка .Net DNX, когда он выводит свой пакет. На этом этапе я застрял, пытаясь заставить этот процесс сборки создать пакет .Net Core.

Мой вопрос заключается в том, почему FileSystemPublish должен быть подключен к полному x86-серверу .Net DNX, и с учетом этого (если я не ошибаюсь), каков рекомендуемый способ создания пакета msdeploy для приложения ASPNET 5, предназначенного для ядра .Net?

РЕДАКТИРОВАТЬ: Пока у меня есть обходной путь. Я могу пройти/p:RuntimeToolingDirectory="C:\Users\buildguest\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta6" в качестве параметра для msbuild. Это переопределяет логику по умолчанию в GetRuntimeToolPath и заставляет его использовать .Net Core. Это работает, но похоже на хак, поэтому я оставляю вопрос открытым для лучшего ответа.