2014-08-28 2 views
9

ich NuGet haben .nuspec dass wie folgt aussieht:NuGet Dependency Framework-Targeting funktioniert nicht, wenn die CSPROJ Verpackung mit

<?xml version="1.0" encoding="utf-8"?> 
<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd"> 
    <metadata> 
     <id>XXXXXXXXX</id> 
     <version>1.0.0-alpha</version> 
     <authors>XXXXXXXXX</authors> 
     <owners>XXXXXXXXXXX</owners> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>XXXXXXXXXXXXXXXXXXX</description> 
     <copyright>XXXXX</copyright> 
     <dependencies> 
      <group> 
       <dependency id="Dependency1" version="1.0.0" /> 
      </group> 
      <group targetFramework=".NETFramework3.5"> 
       <dependency id="Dependency2" version="3.9.71" /> 
      </group> 
      <group targetFramework=".NETFramework4.0"> 
       <dependency id="Dependency3" version="4.0.30" /> 
       <dependency id="Dependency4" version="4.0.30" /> 
       <dependency id="Dependency5" version="4.0.30" /> 
       <dependency id="Dependency6" version="4.0.30" /> 
      </group> 
     </dependencies> 
    </metadata> 
    <files> 
     <file src=".XXX.Net35\bin\Release\XXX.dll" target="lib\net35" /> 
    </files> 
</package> 

Wenn ich verpacken das NuGet Paket mit dem nuspec über:

nuget pack XXXXXX.nuspec 

Alles ist gut, die Abhängigkeitsgruppen sind alle da. Wenn ich mit dem csproj Paket wie:

nuget pack XXXXXX.csproj 

Die Abhängigkeiten werden alle zu einem Ziel in einem Topf geworfen und nicht in Gruppen. Ich möchte wirklich die Funktionalität der $ ID $ und $ Version $ Variablen mit der Fähigkeit, Abhängigkeitsgruppen basierend auf Ziel-Framework zu tun.

Wer kennt eine Lösung?

Antwort

1

Vergewissern Sie sich, dass Sie in das Verzeichnis, das Ihre .csproj Datei hat und ausführen nuget spec eine .nuspec Datei auf Ihrem .csproj basiert. Untersuchen Sie es und stellen Sie sicher, dass es wie gewünscht aussieht, passen Sie es für verschiedene Ziel-Frameworks an, und erstellen Sie dann nuget pack XXXXXX.csproj und respektieren Sie die .nuspec.

+0

Ich war im Urlaub, werde aber nach den Ferien in das schauen. Danke für die Antwort! – SMASH

+0

nuget spec hat gerade eine leere nuspec-Datei erstellt. Es brachte mich zurück auf Platz 1. Am Ende haben wir ein Powershell-Skript geschrieben, das die Version über den Parameter -version im Paketbefehl eingab. – SMASH

Verwandte Themen