2016-04-07 6 views
0

Ich habe eine harte Zeit installieren GemBox.Spreadsheet Paket in meiner. NET-App. Das ist mein erstes Mal mit .NET (C#)., Ich habe einen Node.JS Hintergrund, so verstehe ich das Problem nicht.Add Assembly-Referenz in .NET

ich bereits installiert mit dnu install GemBox.Spreadsheet und alles sieht gut aus, aber ich immer noch den Fehler 'The type or namespace name 'GemBox' could not be found'

UPDATE sehen -

fand ich diese question und ich versuchte, zu reproduzieren, aber hat nicht funktioniert.

Das ist mein project.json ist:

{ 
    "version": "1.0.0-*", 
    "compilationOptions": { 
    "emitEntryPoint": true 
    }, 
    "dependencies": { 
    "NETStandard.Library": "1.0.0-rc2-23811", 
    "GemBox.Spreadsheet": "39.3.30.1153" 
    }, 
    "frameworks": { 
    "dnxcore50": { 
     "GemBox.Spreadsheet": "39.3.30.1153" 
    } 
    } 
} 

Dank.

Antwort

1

Dieses Paket ist nicht kompatibel mit dnxcore50, es scheint nur auf dem Desktop .NET Framework ausgeführt zu werden.

Sie müssen ein Desktop-Framework in Ihrer project.json (beachten Sie, dass Sie nicht auf CoreCLR ausgeführt werden). Sie könnten Ihr Framework beispielsweise in dnx451 ändern.

was bedeutet dnxcore50?

Um dies vollständig zu beantworten, würde es eine Weile dauern, aber hier ist der Kern.

Sie verwenden ein Projekt namens "project.json" für .NET. Sie sind neu und sie sind in der Beta/Vorschau.

Eine weitere Komponente ist Microsoft hat mehrere Laufzeiten. Es gibt das Desktop-Framework, das .NET Framework, das seit 2001 existiert, und es gibt viele andere .NET Frameworks. Ein anderes Beispiel ist .NET Core. Core kann auf anderen Betriebssystemen als Windows ausgeführt werden, verfügt jedoch nicht über dieselben Funktionen wie Desktop .NET Framework. In Ihrer project.json-Datei haben Sie dnxcore50 als das Framework, das Sie unterstützen, das ist .NET Core.

Dieses nugget-Paket, das Sie verwenden möchten, unterstützt dieses Framework jedoch nicht. Es unterstützt nur das Desktop .NET Framework. Sie können das Framework ändern, das Ihre Anwendung verwendet, indem Sie dnxcore50 zu dnx451 ändern. Dies jedoch wird Ihr Projekt bedeuten kann nur auf dem Desktop-.NET Framework unter Windows ausführen, und Mono vielleicht auf OS X.

+0

@CodingGorilla es hier auf nuget zu sein scheint: https://www.nuget.org/packages/GemBox.Spreadsheet/ . So konnte ich prüfen, mit welchen TFMs es kompatibel war. – vcsjones

+0

Hei vcsjones, ich bin ein wenig verloren, was dnxcore50 bedeutet? –

+0

@vcsjones Sie haben Recht, ich habe das aus irgendeinem Grund als "GameBox" gelesen und das ist, was ich gesucht habe. Entschuldigung für die Verwirrung! – CodingGorilla

0

Versuchen Sie, die folgenden:

im Projektmappen-Explorer das Projekt auswählen. Klicken Sie später im Projektmenü auf Verweis hinzufügen. Anschließend fügen Sie der DLL eine neue Referenz mit dem Namen GemBox.Spreadsheet hinzu. Es sollte unter .net Registerkarte sein.

schließlich an der Spitze im Namensraum des Codes verwenden:

using GemBox.Spreadsheet; 
+0

I verwende VS CODE (OS X), ich habe diese Menüoption nicht. Ich habe vergessen, mein Betriebssystem anzugeben, tut mir leid. –