Domanda

Il mio progetto fa riferimento a un gruppo (la chiama X) che fa riferimento un altro assembly (si chiamano Y).

Quando provo a compilare il mio progetto, richiede che esso dovrebbe fare riferimento assemblaggio Y. Perché? Ottengo il seguente errore sulla linea in cui viene fatto riferimento di montaggio X:

  

Il tipo 'DevExpress.XtraEditors.XtraForm' è definito in un assieme   che non è fatto riferimento. È necessario aggiungere un riferimento al montaggio   'DevExpress.Utils.v9.1, Version = 9.1.2.0, Culture = neutral,   PublicKeyToken = b88d1754d700e49a'.

DevExpress.XtraEditors.XtraForm è Y assemblaggio.

Perché è questo? Non ho visto questo comportamento prima.

È stato utile?

Soluzione

Questo è sempre stato al suo posto. Si otterrà solo questi in fase di compilazione se si sta utilizzando un oggetto che ottiene metodi / proprietà / soci ecc dall'assemblaggio Y.

Il perché è perché .NET non può fare affidamento su di montaggio X per assicurare che possa essere in grado di ottenere una corretta simbolo e meta-dati di informazioni.

Altri suggerimenti

Questo è sempre stato il comportamento come come altro sarà il compilatore costruire il vostro progetto se non ha un riferimento a tutte le dipendenze?

Le assemblee a cui fa riferimento il progetto sono necessari per l'applicazione per funzionare. Si utilizza tipi da quelle assemblee e senza quei tipi l'applicazione non può costruire. Ancora più importante, senza quei tipi l'applicazione non può essere eseguito.

Ora ritengono che ogni assemblea che si domanda è stata costruita nello stesso modo del vostro montaggio e richiede che tutti i suoi assembly referenziati essere presenti e contabilizzate. Questo fa creare una reazione a catena che può essere fastidioso, ma il risultato finale è che una volta si sta eseguendo l'applicazione, il CLR ha tutte le assemblee di cui ha bisogno per eseguire l'applicazione.

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