Ответ 1
Проблема заключается в том, что DNX знает, что ваш проект нацелен на dnx46
, но IIS не является:). Итак, IIS запускается как .NET 4.5.1 (по умолчанию) и пытается загрузить проект, который несовместим с 4.5.1.
В будущей версии VS Tooling мы сделаем все возможное, чтобы обнаружить это, но до сих пор все немного грубо для веб-приложений, которые хотят настроить версии .NET выше. > 4.5.1. На данный момент я предлагаю использовать dnx451
до тех пор (если вы не зависите от возможностей .NET 4.5.2/4.6), но я расскажу о некоторых инструкциях ниже о том, как сделать эту работу сегодня, если вам нужно использовать 4.5.2 или выше.
Примечание. dnx452
и dnx46
поддерживаются полностью в консольных приложениях и при использовании серверов, отличных от IIS (например, Kestrel или WebListener). В основном все, что вы можете запустить с помощью встроенного загрузочного устройства dnx.exe
, работает с dnx451
и dnx46
, но для других хостинговых сред (IIS, IIS Express) нужны дополнительные подсказки для запуска правильной структуры.
Чтобы сделать эту работу сегодня, вам нужно установить переменную среды DNX_IIS_RUNTIME_FRAMEWORK
в целевую структуру, которую вы хотите использовать. Вы можете сделать это на странице "Свойства проекта" для веб-приложения на вкладке "Отладка". Просто выберите профиль IIS Express и добавьте переменную среды, как показано ниже:
Мы собираемся добавить это в Известные проблемы, потому что похоже, что мы его пропустили, и, как я сказал выше, мы собираемся улучшить опыт использования по умолчанию в VS, поэтому это необязательно:).