c# - RazorEngine en Mono-TemplateCompilationException lanzado
(2)
Encontré esto https://askubuntu.com/questions/315713/trouble-compiling-monodevelop-4-on-ubuntu-12-04
Y me hizo pensar en cómo instalé Mono. Instalé desde un archivo gz, y luego desde Git (para obtener la última versión), lo que finalmente me dio dos copias. Lamentablemente, no puedo instalarlo directamente desde Git (ya que requiere que Mono esté instalado para poder compilar ...). ¡Así que me revertí al gz y el problema se resolvió automáticamente!
Así que básicamente, dos instancias de Mono existieron al mismo tiempo (de alguna manera), y RazorEngine fue lo primero que me señaló (aunque todo lo demás funcionó bien).
Tengo Mono 3.3.0 ejecutándose en mi caja de Linux. Estoy tratando de usar RazorEngine 3.3.0 (de NuGet).
Desafortunadamente ahora arroja esta excepción
System.Exception: no se puede compilar la plantilla. El tipo predefinido
System.Collections.Generic.IReadOnlyList'' is defined multiple times. Using definition from
System.Collections.Generic.IReadOnlyList'' is defined multiple times. Using definition from
mscorlib.dll ''
Sin embargo, el código funciona bien en mi máquina con Windows. ¿Me estoy perdiendo algo obvio, o simplemente esto no funciona en Mono?
[Editar]
Acabo de encontrar esta información en la propiedad "Errores" de la excepción.
{''Line'': ''0'', ''Column'': ''0'', ''ErrorNumber'': ''CS1685'', ''IsWarning'': ''True'', ''ErrorText'': ''El tipo predefinido
System.Collections.Generic.IReadOnlyList'' is defined multiple times. Using definition from
System.Collections.Generic.IReadOnlyList'' is defined multiple times. Using definition from
mscorlib.dll '''', ''Nombre de archivo'': ''''} {''Línea'': ''0'', ''Columna'': ''0'', ''Número de error'': '''', ''IsWarning'': ''False'', ''ErrorText '':'' /usr/lib/mono/4.5/mscorlib.dll (Ubicación del símbolo relacionado con la advertencia anterior) '','' Nombre de archivo '':'' ''} {'' Línea '':'' 0 '','' Columna '':'' 0 '' , ''ErrorNumber'': '''', ''IsWarning'': ''False'', ''ErrorText'': '' /usr/lib/mono/gac/fastcgi-mono-server4/3.0.0.0_ 0738eb9f132ed756 / fastcgi-mono-server4.exe ( Ubicación del símbolo relacionado con la advertencia anterior) '','' Filename '':'' ''} {'' Line '':'' 0 '','' Column '':'' 0 '','' ErrorNumber '':'' CS1685 '','' IsWarning '':'' True '' , ''ErrorText'': ''El tipo predefinidoSystem.Collections.Generic.IReadOnlyCollection'' is defined multiple times. Using definition from
System.Collections.Generic.IReadOnlyCollection'' is defined multiple times. Using definition from
mscorlib.dll '''', ''Nombre de archivo'': ''''} {''Línea'': ''0'', ''Columna'': ''0'', ''Número de error'': '''', ''IsWarning'': ''False'', ''ErrorText '':'' /usr/lib/mono/4.5/mscorlib.dll (Ubicación del símbolo relacionado con la advertencia anterior) '','' Nombre de archivo '':'' ''} {'' Línea '':'' 0 '','' Columna '':'' 0 '' , ''ErrorNumber'': '''', ''IsWarning'': ''False'', ''ErrorText'': '' /usr/lib/mono/gac/fastcgi-mono-server4/3.0.0.0 _0738eb9f132ed756 / fastcgi-mono-server4.exe (Ubicación del símbolo relacionado con la advertencia anterior) '','' Nombre de archivo '':'' ''}
Si solo tiene una instalación Mono, eche un vistazo a la solución que describí aquí: Razor Engine en Mono 3.2.x con Fast CGI - target específico .net?