2014-08-28 7 views
9

Ho un NuGet .nuspec che assomiglia a questo:NuGet Dipendenza quadro Targeting non funziona se gli imballaggi con il .csproj

<?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> 

Quando ho confezione La confezione NuGet con la nuspec via:

nuget pack XXXXXX.nuspec 

Tutto è buono, i gruppi di dipendenza sono tutti lì. Se pacchetto con csproj come:

nuget pack XXXXXX.csproj 

Le dipendenze sono tutte raggruppate in un obiettivo anziché in gruppi. Voglio davvero la funzionalità di usare le variabili $ id $ e $ version con la possibilità di creare gruppi di dipendenze in base al framework di destinazione.

Qualcuno sa di una soluzione?

risposta

1

Assicurarsi che si va alla directory che ha il file ed eseguire .csprojnuget spec per creare un file .nuspec, sulla base di .csproj. Analizzalo e assicurati che appaia come desideri, personalizzalo per vari framework di destinazione, quindi nuget pack XXXXXX.csproj per crearlo e rispettare lo .nuspec.

+0

Sono stato in vacanza ma esaminerò questo dopo le vacanze. Grazie per la risposta! – SMASH

+0

spec nuget ha appena creato un file vuoto nuspec. Mi ha riportato al punto 1. Abbiamo finito per scrivere uno script PowerShell che impostava la versione tramite il parametro -version nel comando pack. – SMASH

Problemi correlati