2017-05-04 6 views
0

Ich erstelle nuget-Paket, das auch Config-Datei enthalten sollte. Problem ist, dass, wenn ich csproj für nugget-Paketdefinition verwenden will, ich nicht weiß, wie man angibt, dass die config-Datei kopiert werden sollte und "in Ausgabeverzeichnis kopieren" in file set, wenn das Paket installiert wird.Visual Studio 2017 und nugget Paket

https://docs.microsoft.com/en-us/nuget/guides/create-net-standard-packages-vs2017

Früher verwendete ich nuspec und für install.ps1.

Dank (https://docs.microsoft.com/en-us/nuget/guides/create-net-standard-packages-vs2017)

Antwort

0

Um eine Datei zu schließen, müssen Sie die Datei ein Update Element hinzufügen/ändern. Wenn Sie "copy to output directory" auf "preserve listed" gesetzt haben, haben Sie möglicherweise bereits einen in der csproj-Datei. So schließen Sie diese Datei in das resultierende nuget Paket, müssen Sie die Pack="true" Metadaten setzen:

<ItemGroup> 
    <None Update="config.txt" CopyToOutputDirectory="PreserveNewest" Pack="true" /> 
</ItemGroup> 

Beachten Sie, dass je nach Projekttyp (=> Web-sdk oder „normal“ sdk verwendet wird) Sie anders sehen kann Artikeltypen (None, Content) für Dateien.

+0

Aber dies kopiert nicht die config.txt zu Projekt, das dieses nugget-Paket installiert und nicht auf kopierte Datei CopyToOutputDirectory festgelegt. Das ist das Ziel. –

+0

ah ich sehe, was Sie wollen, ist https://github.com/NuGet/Home/issues/4166 –

+1

Dies benötigt eine benutzerdefinierte nuspec im Moment. Beachten Sie, dass die Dateien nicht mehr mit NuGet 4 und PackageReference in den Quellcode des ausführenden Projekts kopiert werden (selbst wenn die Erstellungsaktion ausgeführt wurde). –