windows - Hvorfor er forskellige versioner af den samme nupkg ikke gendannet i løsningsmappen?

Indlæg af Hanne Mølgaard Plasc

Problem



I min løsning har jeg to projekter, en henviser til en nuget-pakke v1.0, en anden refererer til den samme nuget-pakke v2.0.


I MyProject.nuget.props ser jeg dette:


$ (USERPROFILE) .nuget \ pakker \


Og jeg troede, at når jeg kører kommandoen 'nuget restore', skal den gendanne begge versioner til over placering: $ (UserProfile) .nuget \ packages \, faktisk gjorde det. Og så gendan også til min projektmappe/pakker. Men jeg finder efter genoprettelsen, at der kun er v1.0 under min projektmappe/-pakke, og projektet henviser således til, at v2.0 ikke kan opbygge korrekt.


Kan vi henvise to forskellige versioner af den samme pakke i samme løsning til to projekter?

Bedste reference



  Hvorfor er forskellige versioner af den samme nupkg ikke gendannet i løsningsmappen?



Dette afhænger af nuget-styringsmetoden, der bruges af dit projekt, packages.config, packages.json eller PackageReference.


Standardpakken for nugetpakker til packages.config findes i løsningsmappen packages.


Standardpakken for nugetpakker til packages.json eller PackageReference er globale pakker $(UserProfile).nugetpackages


Så dit win32-projekt skal bruge packages.config og UWP-projektet skal bruge PackageReference.


Bemærk: Kontrollér PackageReference, rediger din projektfil .csproj, du finder følgende kode:


  <ItemGroup>
    <PackageReference Include="xxxx" Version="x.x.x" />
  </ItemGroup>



  Kan vi henvise to forskellige versioner af den samme pakke i det samme
  løsning til to projekter?



Ja, du kan oprette to projekter med samme nuget management-metode.