asp.net - net - mono project
Mono en MacOSX: "La versión de tiempo de ejecución admitida por esta aplicación no está disponible". V4.5 (1)
mono --runtime=
Esa opción es controlar el tiempo de ejecución de CLR :
CLR version .NET version
1.0 1.0
1.1 1.1
2.0 2.0, 3.0, 3.5
4 4, 4.5, 4.6
Si desarma xsp4.exe, verá que requiere un host que pueda proporcionar el tiempo de ejecución de CLR 4.0:
ikdasm xsp4.exe | head -n 2
// Metadata version: v4.0.30319
O a través de xCorFlags:
>>corflags xsp4.exe
Mono/.NET Framework CorFlags Conversion Tool. Version 1.0.5643.36015
Copyright (c) SushiHangover. All rights reserved.
Version : v4.0.30319
CLR Header: 2.5
PE : PE32
CorFlags : 0x9
ILONLY : 1
32BITREQ : 0
32BITPREF : 0
Signed : 1
Mono detectará automáticamente el tiempo de ejecución requerido al sondear el CIL que está cargando, por lo que no hay necesidad de especificarlo a menos que realmente necesite forzar una versión diferente del tiempo de ejecución.
FYI: Mono instala scripts de shell para herramientas / utilidades para xsp4 (y otros) para que no tenga que escribir a mano las rutas:
cat `which xsp4`
#!/bin/sh
exec /Library/Frameworks/Mono.framework/Versions/4.2.1/bin/mono $MONO_OPTIONS "/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/xsp4.exe" "$@"
Acabo de instalar Mono v4.0.4 en MACOSX 10.10.5 Yosemite. El paquete instalador fue: MonoFramework-MDK-4.0.4.4.macos10.xamarin.x86.pkg
descargado de http://www.mono-project.com/download/ anoche.
Tengo una aplicación webapi que me gustaría ejecutar con xsp4.exe. Yo uso esta línea de comando:
/usr/bin/mono --runtime=v4.5 /Library/Frameworks/Mono.framework/Versions/4.0.4/lib/mono/4.5/xsp4.exe
Obtengo esta salida:
WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v4.0.30319
...
¿Por qué recibo este mensaje? ¿Por qué dice "la versión de tiempo de ejecución no está disponible"?
Creo que tengo v4.5 instalado, con mono v4.0.4. En el directorio /Library/Frameworks/Mono.framework/Versions/4.0.4/lib/mono
, puedo ver
- 2.0
- 3.5
- 4.0
- 4.5
¿Esto NO indica que la versión 4.5 del tiempo de ejecución está disponible?
Dentro del directorio 4.5, veo muchas DLL, todas enlazadas simbólicamente a un directorio de gac. Los objetivos de estos enlaces simbólicos existen.
No puedo entender cómo decir mono, SÍ, v4.5 EXISTE. ÚSELO.
Tengo un problema separado, probablemente relacionado. Después de recibir la advertencia anterior , se ejecuta xsp4. Cuando intento cargar la aplicación ASPX en el navegador, aparece el temido error CS0234,
System.Web.Compilation.CompilationException
CS0234: The type or namespace name `Http'' does not exist in the namespace `System.Web''. Are you missing an assembly reference?
Pero en /Library/Frameworks/Mono.framework/Versions/4.0.4/lib/mono/4.5, puedo ver
System.Web.Http.dll -> ../gac/System.Web.Http/4.0.0.0__31bf3856ad364e35/System.Web.Http.dll
Y esa DLL ciertamente existe en el directorio de gac. Creo que xsp4 / mono no puede encontrar el System.Web.Http.dll que es parte de v4.5. ¿Estoy en lo cierto?
Estoy haciendo algo básico mal. ¿Alguien puede dirigirme bien?