Я хочу разместить мой проект ASP.NET 5, который использует MVC 6 и Entity Framework 7 на бесплатном микро-экземпляре Amazon. Я не могу найти пошаговое руководство о том, как размещать проекты ASP.NET 5 в IIS, все материалы просто упоминают, что это возможно, но без каких-либо руководств. В основном, я развертываю локальную папку, а затем копирую на вновь созданный сайт, но ничего не работает. К сожалению, я не могу использовать Azure, поскольку он имеет только один месяц бесплатной пробной версии, а не год.
Хостинг проектов ASP.NET 5 на IIS
Ответ 1
Я использую Visual Studio 2015 Preview для создания проектов ASP.NET 5. Я не думаю, что сейчас сложно развертывать на IIS. Сначала опубликуйте свой сайт, опубликовав его как файловую систему в предварительном просмотре VS 2015, затем скопируйте опубликованную папку на свой сервер, создайте приложение в IIS и установите папку приложения в папку wwwroot (а не корневую папку), что и все. Имейте в виду, проверьте, существует ли на вашем веб-сайте project.json "Microsoft.AspNet.Server.IIS", прежде чем публиковать его.
Изменить: должен быть файл web.config в папке wwwroot, содержимое web.config может быть таким (с опцией прекомпиляции при публикации):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="kpm-package-path" value="..\approot\packages" />
<add key="bootstrapper-version" value="1.0.0-beta1" />
<add key="kre-package-path" value="..\approot\packages" />
<add key="kre-version" value="1.0.0-beta1" />
<add key="kre-clr" value="CoreCLR" />
<add key="kre-app-base" value="..\approot\packages\Rvc.PopUpSite\1.0.0\root" />
</appSettings>
</configuration>
или как это (без опции прекомпиляции):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="kpm-package-path" value="..\approot\packages" />
<add key="bootstrapper-version" value="1.0.0-beta1" />
<add key="kre-package-path" value="..\approot\packages" />
<add key="kre-version" value="1.0.0-beta1" />
<add key="kre-clr" value="CoreCLR" />
<add key="kre-app-base" value="..\approot\src\Rvc.PopUpSite" />
</appSettings>
</configuration>
Обратите внимание на значение kre-app-base
. Иногда его значение представляет собой пустую строку после публикации в Visual Studio.
Ответ 2
1. Сначала вам нужно опубликовать сайт в файловой системе:
2. Создайте новое приложение в IIS:
3. Разархивируйте файл, созданный на шаге 1 в каталоге веб-сайта, с шага 2. Папка должна выглядеть так:
4. Вам также может потребоваться установить DNVM (ранее KVM) и среду исполнения DNX (ранее KRE):
Ответ 3
У меня была та же проблема с DNX Beta 4.
Если у кого-то такая же проблема:
При публикации вашего веб-сайта в Visual Studio 2015 RC вам необходимо настроить целевую инфраструктуру x64 (Target DNX Version) и написать "XXX\wwwroot" на физическом пути в настройке вашего сайта IIS.
Ответ 4
Вы можете использовать метод публикации файловой системы. Выполните следующие действия:
1/Создайте в папке с Visual Studio файлы .dll
2/Создайте веб-сайт в диспетчере IIS и укажите путь к вашей папке
Ответ 5
Я нашел то, что пропустил, мне нужно изменить url на мой общедоступный DNS в файле projct.json:
"web": "Microsoft.AspNet.Hosting - сервер Microsoft.AspNet.Server.WebListener --server.urls http://ec2-54-68-21-4.us-west-2.compute.amazonaws.com/
после загрузки сайта в Amazon мне нужно запустить web.cmd в корне сайта