2010-12-15 16 views
6

He instalado MonoDevelop 2.4.1 con Mono 2.8.1. Mi problema es que no puedo agregar la referencia de ensamblado al ensamblado compilado para .NET 4.0 (en el mismo IDE de MonoDevelop).No se puede agregar la referencia de ensamblado de .NET 4.0 en MonoDevelop 2.4.1

¿Qué hago? References -> Edit References -> .NET Assembly -> Examinar al archivo & seleccionarlo

Than MD muestra un error que indica que un ensamblaje que intento agregar no es un ensamblado .NET. He configurado el perfil para .NET 4.0 en todas partes.

El reflector desmonta mi conjunto fino, así que está bien. Mi sistema operativo es Windows 7 ¿Qué pasa?

UPD: Publicado un error en Novell. Aquí está https://bugzilla.novell.com/show_bug.cgi?id=659894

Respuesta

5

Cuando lo hago "C:\Program Files\Mono-2.8.1\bin\mono.exe" "C:\Program Files\MonoDevelop\bin\MonoDevelop.exe" el problema desaparece.

Se entiende que ejecutando MonoDevelop.exe se ejecuta en Microsoft .NET y el problema es que MonoDevelop (ensamblado .NET 2.0) no puede reconocer un ensamblaje (.NET 4.0) con el uso de 2.0 API.

Veamos código (MonoDevelop.Ide.Projects.AssemblyReferencePanel):

private void SelectReferenceDialog(object sender, EventArgs e) 
{ 
    string[] array = new string[this.chooser.Filenames.Length]; 
    this.chooser.Filenames.CopyTo(array, 0); 
    foreach (string str in array) 
    { 
     bool flag = true; 
     try 
     { 
      AssemblyName.GetAssemblyName(Path.GetFullPath(str)); 
     } 
     catch 
     { 
      flag = false; 
     } 
     if (flag) 
     { 
      this.selectDialog.AddReference(new ProjectReference(ReferenceType.Assembly, str)); 
     } 
     else 
     { 
      MessageService.ShowError(GettextCatalog.GetString("File '{0}' is not a valid .Net Assembly", str)); 
     } 
    } 
} 

La línea de AssemblyName.GetAssemblyName(Path.GetFullPath(str)); es una fuente de todos los males. Voy a publicar un informe de error en novell. O no es un error?

+1

Es un error, por favor archívelo. Deberíamos usar Mono.Cecil para leer el nombre del ensamblado, como hacemos en el código de manejo del tiempo de ejecución del núcleo. –

+0

Ok. Lo haré lo antes posible. El enlace estará aquí. Btw ejecutando MD directamente en mono no me permite construir mis proyectos porque uno de mis complementos arroja TypeLoadExceptions :(Esperará una corrección – ILya

+0

Aquí está - https://bugzilla.novell.com/show_bug.cgi? id = 659894 – ILya

Cuestiones relacionadas