Ohne alle Dateien eines Typs in NuGet
Problem: ich habe .sql-Dateien in mein Visual Studio Projekt, das ausschließen will ich aus mein NuGet-Paket. Diese .sql-Dateien sind verschachtelt in verschiedenen Verzeichnissen, und ich wurde nicht erfolgreich aus, alle .sql-Dateien aus mein nuget-Paket.
1: ich habe eine .nuspec-Datei durch ausführen des folgenden Befehls auf mein Ziel Projekt:
nuget spec
2: ich habe bearbeitet die daraus resultierenden nuspec-Datei, so dass es wie folgt aussieht:
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Security Core Impl</description>
<releaseNotes>Security Core Impl</releaseNotes>
<copyright>Copyright 2013</copyright>
<tags>Security Core</tags>
</metadata>
<files>
<file src="**\*.dll" target="lib\net40\" exclude="**\*.sql;" />
</files>
</package>
3: ich führen Sie den folgenden Befehl zum erstellen meiner .nupkg:
nuget pack -Prop Configuration=Release
Immer wenn ich installieren Sie dieses Paket in ein anderes Projekt, jedoch, die .sql-Dateien enthalten. Ich habe versucht ein paar verschiedene Variationen der exclude oben, und haben versucht, die -Exclude-Option. Nichts scheint zu funktionieren.
Alle .sql-Dateien sind markiert:
- Bauen Aktion: Keine
- Die Eigenschaft in Ausgabeverzeichnis kopieren: kopieren Sie nicht
Ich habe auch versucht, meine clearing-cache NuGet-über Visual Studio-Optionen.
Hinweis: Das NuGet-Paket wird gehostet auf einem privaten server.
- Haben Sie versucht, dies zu tun, ohne nuspec-Datei? Ich meine, entfernen Sie generiert nuspec-Datei und führen Sie
nuget pack myproj.csproj -Exclude **\*.sql -Prop Configuration=Release
- Hast du das beabsichtigen, setzen Sie ein Semikolon nach .sql? Dies funktioniert für mich
<file src="bin\dynamic-debug\*.dll" target="(path)" exclude="**\*unwanted.dll" />
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe gerade mit der exakt gleichen Problem, aber mit .txt-Dateien. Die Lösung wie bereits von einem Kollegen ist die änderung der Build Action von "Inhalt" auf "None".
Ich gehe davon aus, dass Ihre *.sql-Dateien sind unter der
content
Ordner des Pakets?<file src="**\*.dll" target="lib\net40\" exclude="**\*.sql;" />
sagt NuGet hinzufügen .DLL-Dateien unter lib\net40. SQL-Dateien werden ignoriert, wie Ihr gehören nicht gehören Sie trotzdem.Können Sie versuchen, das hinzufügen
<file target="content\" exclude="**\*.sql;" />
um die nuspec-Datei?