2010-11-18 5 views
0

Ich habe ein sehr seltsames Problem, das ich nicht beheben kann und nicht weiß, was los ist ... Ich verwende VS 2010 Premium und .NET 4.0.System.Design kann nicht in der Klassenbibliothek referenziert werden?

Hier sind meine Schritte, um das Problem zu simulieren.


Schritt 1. Erstellen Sie ein neues Projekt VB-Klassenbibliothek namens "MyClassLib"

Schritt 2. eine neue Klasse erstellen Namen "MyTestingClass".

Public Class MyTestingClass 
    Inherits System.ComponentModel.Design.CollectionEditor 

    Public Sub New() 
     MyBase.New(GetType(List(Of String))) 
    End Sub 

End Class 

Schritt 3. Fügen Sie zwei .net-Referenz hinzu. "System.Design" und "System.Drawing".

Schritt 4. Erstellen Sie eine neue VB-Konsolenanwendung namens "MyClassExe"

Schritt 5.e Hinzufügen "MyClassLib" Verweis auf "MyClassExe".

Schritt 6. Öffnen Sie Module1.vb in "MyClassExe" Projekt

Schritt 7. In der Methode Main Typ

Dim a = New MyClassLib.MyTestingClass() 

Schritt 8. Versuchen Sie, kompilieren "MyClassLib". Es hat kein Problem.

Schritt 9. Versuchen Sie "MyClassExe" zu kompilieren. Es kann nicht kompiliert werden, da die WHOLE MyClassLib nicht gefunden werden kann !!!


Ich habe keine Ahnung, was los ist?

Darüber hinaus passiert der gleiche Fall in C#.

Weiß jemand, was ist das Problem mit "System.Design"?

Vielen Dank !!!

+0

Welchen Fehler bekommen Sie? – SLaks

+0

Der Typ oder Namespacename 'MyClassLib' konnte nicht gefunden werden (fehlt eine using-Direktive oder eine Assemblyreferenz?) –

Antwort

4

Fügen Sie im Konsolenprojekt einen Verweis auf System.Design hinzu.

Sie können eine Klasse nicht verwenden, wenn sie eine Klasse in einer Baugruppe erbt, die Sie nicht referenziert haben.

+0

System.Design kann nicht zum Konsolenprojekt hinzugefügt werden. In der Referenzliste .net gibt es keine System.Design-Assembly. Ich habe auch versucht, '' in der Projektdatei direkt hinzuzufügen, es funktioniert auch nicht. –

+10

@Alex: Ändern Sie das Ziel-Framework des EXE in .Net 4.0 Full. – SLaks

+0

oooo wirklich danke !!!! Problem gelöst!!! Aber warum ist das Standardframework ".NET Framework 4 Client Profile"? –

Verwandte Themen