2015-04-30 1 views
12

Я только что создал быстрое приложение ASP.NET 5 MVC 6 на Visual Studio.NET 2015 RC и хотел бы, чтобы он запускался на моем веб-сервере IIS на Windows 7.Запуск ASP.NET 5 (MVC 6) с использованием .NET Core на IIS

Обычно, когда я создаю сайт в IIS, мне нужно выбрать пул приложений, либо v2.0, либо v4.0 Integrated.

Теперь, поскольку .NET Core поставляется со всеми его библиотеками как пакеты nuget, как я могу запустить его в IIS? какой пул приложений я выбираю? как это работает?

+0

Я еще не пробовал этот сценарий развертывания, но я бы предположил, что IIS 7 (который поставляется с Windows 7) не будет поддерживать это. Вы используете для переупаковки приложений vnext, чтобы заставить их работать в IIS, потому что ни одна версия IIS не поддерживала их из коробки. Возможно, теперь IIS 8, но на самом деле может потребоваться обновление до Windows 10 для фактического использования развертывания по умолчанию. Смотрите: https://github.com/aspnet/Home/wiki/Deploy-an-AspNet-vNext-application-to-Microsoft-Azure-websites –

+0

Я повсюду искал, и я не могу найти ответ, я не даже уверен в Windows 10. Допустим, я хотел, чтобы приложение запускалось на www.mywebsite.com, размещенном на IIS, как я могу это сделать? – Cindro

+0

Я думаю, что вы ищете [Проект «Гелиос»] (http://blogs.msdn.com/b/webdev/archive/2014/02/18/introducing-asp-net-project-helios.aspx). Это пределы моих знаний по этому вопросу. :) – bricelam

ответ

18

Чтобы получить приложение для работы на IIS:

  1. Создать сайт под бассейн v4.0 приложение.
  2. Bundle/публикация заявки с использованием dnu publish. Это создаст самостоятельный пакет, в котором есть приложение, среда выполнения и все зависимости. Измените имя исполняемой среды, чтобы она соответствовала времени выполнения по вашему выбору.

    dnu publish --runtime dnx-coreclr-win-x86.1.0.0-beta5-11625 
    

    Вы даже можете пройти --no-source, если вы не хотите, чтобы приложение быть собрана из источников, каждый раз, когда он начинает.

  3. Скопируйте комплект (от bin\output) под корень веб-сайта.

  4. Run

вещи, которые могут пойти не так:

  1. Разрядность IIS (32/64 бит) должен соответствовать разрядность CoreCLR.
  2. Если вы не копируете связанный веб-сайт под корнем веб-сайта, убедитесь, что учетная запись, под которой работает IIS, может фактически получить доступ к папке времени выполнения.
+0

Последнее, что может пойти не так, это использовать время выполнения, которое остальным пакетам не нравится на этапе бета-тестирования. Начиная с написания, coreclr находится на бета-версии 4 на nuget и beta5 на предварительном выпуске myget.org. Если ваши пакеты поступают из nuget, пакеты, такие как Microsoft.AspNet.Mvc, находятся на бета-версии4, и по моему опыту не будет работать на бета-версии coreclr, так как происходит множество изменений. – vcsjones

+1

Спасибо, я, наконец, получил его на работу. Я просто должен был опубликовать сайт под архитектурой .NET Core x64 вместо x86, и он сработал. – Cindro

+0

[Здесь] (https://docs.asp.net/en/latest/publishing/iis.html) предлагается использовать «No Managed Code» для пула приложений. – Baga

3

Этот вопрос устарел, и с этого момента Microsoft выпустила довольно полную документацию для этого сценария. Вы можете найти его здесь: https://docs.microsoft.com/en-us/aspnet/core/publishing/iis

+0

Возможно, у вас есть много очков, если вы суммируете статью. Указывая на документацию по SO, обычно нахмурился – paqogomez

+1

@paqogomez Спасибо за совет. Я согласен, я мог бы получить больше очков для подведения итогов документации, но поскольку новый https://docs.microsoft.com/en-us/aspnet/core/publishing/iis является сгенерированным документом, и каждый может внести свой вклад в него через ["edit"] (https://github.com/aspnet/Docs/blob/master/aspnetcore/publishing/iis.md) на странице. Я хотел бы, чтобы любое резюме, которое я бы предоставил, так же быстро устареет , Когда дело доходит до документации, я бы лучше дал людям точную информацию, а не стал жадным для очков. :) – wickdninja

+0

Ну, это не соответствует точке SO. На SO мы никогда не уверены, будет ли ссылка устаревать, и мы не уверены в текущей информации. Итак, мы обобщаем вместо ссылки и делаем все возможное, чтобы идти в ногу с нашими сообщениями и обновлять информацию. Счастливый SO'ing – paqogomez

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