0

Wir haben ein internes NuGet-Paket, das aus .NET-Code und einer TypeScript-Definitionsdatei (* .d.ts) besteht. Dies ist der Inhalt des Pakets:Hinzufügen von TypeScript-Definitionen zu .NET Core Nuget-Paketen

.nupkg package content

Nachdem das Paket in ein neues .NET-Core-Projekt zu installieren, sieht die Ordnerstruktur in der Lösung Explorer wie diese.

Folder structure in the solution explorer with focus on the "TypeScript" folder

Bisher ging alles wie erwartet. Beachten Sie jedoch die kleinen Pfeilsymbole im Ordner "i18n" und die Datei "Index.d.ts". Es sieht so aus, als wären sie nur Links zur eigentlichen Datei. Wenn ich auf die d.ts Datei klicke, scheint der Inhalt korrekt zu sein. Aber Visual Studio erkennt die darin enthaltenen Deklarationen nicht, daher kann ich es nicht in meinen TypeScripts verwenden.

Eine Idee war, den Pfad zu den Paketen in die tsconfig.json aufzunehmen, aber das kann nicht die Lösung sein ... Irgendwelche anderen Ideen, wie man das macht?

+0

Sie richtig sind, können die Dateien, da dies verknüpft sind, ist enthalten nur die Copy-to-Ausgabe /“ im logischen Projekt "Feature. Würde die Verteilung von JS-bezogenen Dateien über NPM keine native Lösung für die Paketverwaltung von JS/TS-Dateien sein? –

+0

Ja, aber das heißt, wir brauchen zwei Pakete. Ich würde es vorziehen, es mit nur einem Paket zu verteilen. – Sandro

Antwort

0

Wie Typoskript Definitionen zu .NET Kern Nuget Pakete

Soweit ich weiß, auf jeden Fall typisierten Pakete sind nicht kompatibel mit .NET Core-Projekten hinzuzufügen. Das, weil die Skriptdateien im <contentFiles> Element enthalten sein sollten. Weitere Informationen finden Sie unter Including content files.

Außerdem, wie Martin Kommentar, npm ist die empfohlene Methode zur Installation auf jeden Fall typisierten Pakete:

https://github.com/DefinitelyTyped/DefinitelyTyped#how-do-i-get-them

+0

Ich habe diese Dokumentation gelesen und es besagt, dass wir * Konfigurationsdateien für das Paket, die in das Projekt einbezogen werden müssen, aber keine projektspezifischen Änderungen * mit dem Element 'contentFiles' (für .NET Core Projekte oder Nuget 4+). Was genau ich getan habe. – Sandro

+0

Ich denke, ich muss mit zwei Paketen gehen. Ein nugget und ein npm: / – Sandro

Verwandte Themen