2013-12-01 2 views
5

Я пытался запустить MVC5 (в зависимости от .NET 4.5) в Mono в течение нескольких дней и без успеха.Может ли XSP запустить ASP.NET 4.5?

Конфигурация

  • чистой установки последней Lubuntu
  • Нет предыдущий XSP/Mono
  • Compile и установить XSP/Mono из последних источников GIT версия
  • Mono: 3.2.7

Задача

Когда я запускаю xsp4 в любой папке, он показывает Version Information: 3.2.7 (master/1eef047 C nov 28 18:16:30 EET 2013); ASP.NET Version: 4.0.30319.17020.


Последняя версия Mono поддерживает .NET 4.5, делает XSP?
Если да, то как я могу убедиться, что он использует 4.5 вместо 4.0?

Даже если я запустил XSP прямо из папки Mono 4.5 (/usr/lib/mono/4.5/xsp4.exe), она показывает версию ASP.NET 4.0.

Кроме того, строка конфигурации XSP в /usr/bin/xsp4 выглядит так. Я очень смущен.

#!/bin/sh 
exec /usr/bin/mono $MONO_OPTIONS "/usr/lib/mono/4.5/xsp4.exe" "[email protected]" 
+1

** не работает * * - это не утверждение, которое достаточно ясно для stackoverflow, пожалуйста, опишите, почему вы думаете, что это не работает? это порождает ошибку? не отображается ли страница в браузере? что заставляет вас думать, что это не работает? – knocte

+0

@knocte Выполняется 'ASP.NET Версия: 4.0.30319.17020', мне нужна' ASP.NET Version: 4.5 ... '. Ошибок нет. Версия не то, что я ожидаю. – sed

+0

как вы извлекаете эту информацию о версии? – knocte

ответ

2

Вы можете поручить моно запустить конкретную версию среды выполнения с --runtime флагом. В этом случае, это было бы так:

#!/bin/sh 
exec /usr/bin/mono $MONO_OPTIONS --runtime=v4.5 "/usr/lib/mono/4.5/xsp4.exe" "[email protected]" 

Однако, насколько я понимаю, 4,5 профиль .NET не включает в себя изменения в среде выполнения, но в библиотеках классов и компиляторы. Поэтому, если вышеуказанное не работает, это просто означает, что версия среды выполнения, которую нужно использовать для запуска приложения 4.5, - это просто версия 4.0.30319.

Лучший способ понять это, чтобы включить эту маленькую схему изображения захваченный из Scott Hanselman's blog post:

enter image description here

+0

'ВНИМАНИЕ: версия исполнения, поддерживаемая этим приложением, недоступна.'. Во всяком случае, я думаю, что вы можете быть правы, и он может запускать веб-сайты .NET 4.5. Я не знаю, как это проверить. – sed

+1

Да, я просто протестировал его с помощью другого стека (не MVC5), и он действительно работал без проблем. Также я убедился, что он работает под .NET 4.5, проверяя, присутствует ли 'System.Reflection.ReflectionContext'. И это было. Большое спасибо! – sed

0

Единственный шанс, что вы можете запустить MVC это установить моно 3.4.0. моно 3.2.7 не будет работать для MVC5

+0

Вы правы. Однако новостной моно от git до сих пор не поддерживает MVC5. (маршрутизация атрибутов, строчные адреса, другие вещи ..) – sed