Domanda

Sto usando l'ultima versione di IKVM a "compilare" un Java file .jar in una DLL .NET. Che tutto ha funzionato bene, e ora sto cercando di fare riferimento alla DLL in C # .NET 3.5.

Nel mio progetto C #, ho creato un statici "StringExtensions" classe con un metodo di estensione su stringa.

Per qualche motivo questo sembrava funzionare ieri, ma oggi, sto ottenendo un errore di generazione sulla mia classe di estensione (non so come questo ha funzionato ieri ...).

Missing compiler required member System.Runtime.CompilerServices.ExtensionAttribute..ctor

E una build di avvertimento così:

The predefined type 'System.Runtime.CompilerServices.ExtensionAttribute' is defined in multiple assemblies in the global alias; using definition from 'c:\TEMP\IKVM.Runtime.dll'

ho scoperto che sia IKVM.Runtime.dll e System.Core.dll (versione 3.5) hanno lo stesso tipo: "System.Runtime.CompilerServices.ExtensionAttribute"

Dal momento che lo spazio dei nomi è lo stesso, come posso ottenere questo per compilare con la versione System.Core di ExtensionAttribute (o come posso risolvere il problema)?

Grazie

È stato utile?

Soluzione

Se il target di .Net 2.0 è possibile creare solo metodi di estensione se si definisce questo attributo da soli. Questa grande opera fino a quando si passa a 3,5 NET.

Non lo so "IKVM", ma l'unica vera soluzione è quello di chiedere loro di rimuovere l'attributo e di destinazione 3.5.

Altri suggerimenti

Aggiornamento a IKVM 0.40.0.1 risolto questo problema per me.

Ho lo stesso problema.

Nel mio caso il problema era l'assemblea Mono.Cecil.

Migrazione da riferimenti locali a NuGet, quando aggiungo NHibernate fa riferimento al pacchetto aggiunge questo riferimento automaticamente.

Questo riferimento è stato rimosso, e compilato ancora una volta il mio progetto.

È necessario capisco questa implementazione per risolvere la tua domanda. Uno dei due gruppi devono essere rimossi.

Questa immagine è stata presa da ILSpy ( http://i.stack.imgur.com/Qyd5o .png )

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top