Ausschließen aller Dateien eines Typs in NuGet

8

Problem : Ich habe .sql-Dateien in meinem Visual Studio-Projekt, die ich aus meinem NuGet-Paket ausschließen möchte. Diese .sql-Dateien sind in verschiedenen Verzeichnissen verschachtelt, und ich konnte nicht alle .sql-Dateien aus meinem nuget-Paket erfolgreich ausschließen.

1: Ich habe eine .nuspec-Datei erstellt, indem ich den folgenden Befehl für mein Zielprojekt ausgeführt habe:

%Vor%

2: Ich habe die resultierende nuspec-Datei so bearbeitet, dass sie wie folgt aussieht:

%Vor%

3: Ich führe den folgenden Befehl aus, um mein .nupkg:

zu erstellen %Vor%

Immer wenn ich dieses Paket in ein anderes Projekt installiere, werden die .sql-Dateien jedoch eingeschlossen. Ich habe ein paar verschiedene Varianten des Ausschlusses oben ausprobiert und den Ausschließungsschalter ausprobiert. Nichts scheint zu funktionieren.

Alle .sql-Dateien sind markiert:

  • Build-Aktion: Keine
  • In Ausgabeverzeichnis kopieren: Nicht kopieren

Ich habe auch versucht, meinen NuGet-Cache über Visual Studio-Optionen zu löschen.

Hinweis: Das NuGet-Paket wird auf einem privaten Server gehostet.

    
Dylan McCurry 12.03.2013, 00:38
quelle

2 Antworten

12

Ich habe gerade genau das gleiche Problem, aber mit TXT-Dateien. Die Lösung, auf die ein Kollege hinweist, besteht darin, die Build Action von "Content" in "None" zu ändern.

    
Antony Scott 25.06.2013, 14:44
quelle
1

Ich gehe davon aus, dass sich Ihre * .sql-Dateien im Ordner content des Pakets befinden?

<file src="**\*.dll" target="lib\net40\" exclude="**\*.sql;" /> weist NuGet an, alle .DLL-Dateien unter lib \ net40 hinzuzufügen. SQL-Dateien werden ignoriert, da Ihr Include sie ohnehin nicht enthält.

Können Sie versuchen, <file target="content\" exclude="**\*.sql;" /> zur nupec hinzuzufügen?

    
maartenba 13.03.2013 07:15
quelle