2011-10-07 36 views
19

Sto tentando di aggiungere uno [Science.dll] nel mio progetto che dovrebbe essere in avanti. Ma sto avendo un problema Qualcuno può dirmi perché?Come aggiungere dll nel progetto C#

Il mio progetto C# che ho appena copiato da internet.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Windows.Forms; 
using System.ComponentModel; 
using System.Data; 
using Science.Mathematics.VectorCalculus; 



namespace using_science_dll 
{ 
    static class Program 
    { 
     /// <summary> 
     /// The main entry point for the application. 
     /// </summary>`enter code here` 
    } 
} 

C: \ Csharptutorial \ using_science_dll \ using_science_dll \ Program.cs (7,7): l'errore CS0246: Il tipo o dello spazio dei nomi il nome 'Scienza' non è stato trovato (che le manca una direttiva using o un insieme riferimento?)

È perché sto usando VS 2008?

Science.dll verrà eseguito il seguente telaio .Net 4.0 e Visual C# 2010 Express

enter image description here

+1

Come puoi vedere a destra nel tuo screenshot il riferimento è rotto. Quindi è naturale che la clausola 'using' non funzioni. Ma è necessario dirci qual è il messaggio di avviso/errore sul riferimento interrotto. – CodesInChaos

+1

Hai un avviso nella sezione "Riferimenti" di Solution Explorer.Cosa dice questo avvertimento? –

+0

Visual Studio non trova il riferimento scientifico, prova a rimuovere e aggiungere nuovamente questo riferimento ... – 2GDev

risposta

22

La DLL deve essere presente in qualsiasi momento - come indica il nome, un riferimento indica solo a VS che si sta tentando di utilizzare elementi dalla DLL. Nel file di progetto, VS memorizza il percorso e il nome file effettivi della DLL di riferimento. Se lo sposti o lo cancelli, VS non è più in grado di trovarlo.

Generalmente creo una cartella libs all'interno della cartella del mio progetto in cui copio DLL non installate nel GAC. Quindi, aggiungo effettivamente questa cartella al mio progetto in VS (mostra i file nascosti in VS, quindi fai clic con il tasto destro del mouse e "Includi nel progetto"). Quindi faccio riferimento alle DLL dalla cartella, quindi quando si effettua il controllo del codice sorgente, la libreria viene anche archiviata. Ciò rende molto più facile quando più di uno sviluppatore dovrà modificare il progetto.

(. Assicurati di impostare il tipo di build per "nessuno" e "non copiare nella cartella di output" per la DLL nel progetto)

PS: io uso un tedesco di Visual Studio, in modo che il le didascalie che ho citato potrebbero non corrispondere esattamente alla versione inglese ...

+2

Hi Thorsten Descrivi più in dettaglio come fare riferimento alle DLL che si trovano all'interno del progetto/soluzione. –

+2

Nella cartella del tuo progetto (questo è al livello in cui si trovano tutti i tuoi file cs e il file csproj), crea una nuova cartella (il nome non ha importanza, di solito uso "lib"). Copia la DLL a cui fare riferimento lì. In VS, assicurati di vedere tutti i file selezionando il progetto e facendo clic sul pulsante "Mostra tutti i file". Quindi premere "Aggiorna", fare clic con il pulsante destro del mouse sulla cartella (visualizzato in grigio) e fare clic su "Aggiungi al progetto". Impostare lo stile di compilazione su "NONE" per la DLL e quindi aggiungere un riferimento alla DLL dalla nuova cartella. –

4

Hai aggiunto la dll nella vostra lista riferimenti del progetto? Se non si fa clic con il pulsante destro del mouse sulla cartella "Riferimenti" del progetto e si seleziona "Aggiungi riferimento", utilizzare Sfoglia per individuare il file science.dll, selezionarlo e fare clic su OK.

modificare

non riesco a vedere l'immagine della propria istanza VS che alcune persone si riferiscono a e faccio notare che ora dire che funziona in Net4.0 e VS2010.

I progetti VS2008 supportano NET 3.5 per impostazione predefinita. Mi aspetto che questo sia il problema dato che la tua DLL potrebbe essere compatibile con NET 4.0 ma non con NET 3.5.

2

Nella colonna di destra sotto il tuo solution explorer, puoi vedere accanto al riferimento a "Science" il suo contrassegnato come un avvertimento. O questo significa che non può trovarlo, o che si oppone ad esso per qualche altra ragione. Mentre questo è il caso e il tuo codice lo richiede (e non solo nella lista dei riferimenti) non verrà compilato.

Si prega di inviare il messaggio di avviso, possiamo provare ad aiutarvi ulteriormente.

Problemi correlati