2016-07-21 20 views
1

Gibt es eine Möglichkeit, ein NuGet-Paket zu erstellen, das den Quellcode enthält, der als Bibliothek referenziert werden kann? Wenn ich .nuspec zum Packen verwende, enthält das erstellte .nupkg den Quellcode, kann aber nicht referenziert werden. Ich habe bereits versucht, einen Bibliotheksknoten innerhalb der .nuspec hinzuzufügen, wie einige auf SO vorgeschlagen haben, aber die resultierende .nuspec stimmt nicht mit dem Standard überein und kann daher nicht erstellt werden. Wenn .csproj zum Packen verwendet wird, enthält das .nupkg nur die .dll. Es kann referenziert werden, aber es kann nicht gedebuggt werden, da es keinen Quellcode enthält. Wie könnte ich beides erreichen? Eine Referenzbibliothek, die Quellcode enthält. Im Voraus danke für Ihre Zeit.NuGet: Paket mit Quellcode, auf den als Bibliothek verwiesen werden kann

+1

Debuggen erfordert nur die PDB-Datei. Siehe https://docs.nuget.org/create/creating-and-publishing-a-symbol-package –

+0

Sie können Ihren Quellcode nur für das Paket hinzufügen und es wird in bestimmten Ordner geladen. Sie verweisen nicht auf Quellcode. Keine Bedeutung, um die DLL mit der Quelle zu erhalten, sonst erhalten Sie doppelten Code. –

+0

Danke an euch beide. – mollwitz

Antwort

1

Hier ist eine .nuspec Datei Ich verwende Quellen aus mehreren Verzeichnissen zu verpacken, die als Bibliothek in anderen Projekten zu gewöhnen:

<?xml version="1.0"?> 
<package > 
    <metadata> 
    <id>Your.Package</id> 
    <version>1.0.14</version> 
    <authors>me</authors> 
    <owners>me</owners> 
    <requireLicenseAcceptance>false</requireLicenseAcceptance> 
    <description>Class library.</description> 
    <releaseNotes>Initial release.</releaseNotes> 
    <copyright>Copyright 2017</copyright> 
    <tags>some tags</tags> 
    </metadata> 
    <files> 
    <file src="*.cs" target="content/App_Packages/<YourPackage>.Sources" /> 
    <file src="Configuration/*.cs" target="content/App_Packages/<YourPackage>.Sources" /> 
    </files> 
</package> 

einfach die „Datei“ Tags ändern, um die Dateien Sie versuchen zu verweisen einschließen.

Wenn Sie bereit sind, die .nupkg Datei, CD in das Verzeichnis mit Ihrer .nuspec-Datei zu erstellen und auszuführen: nuget zu packen .nuspec