Tjek din packages.config
Der inde skal du tjekke efter de pakker, du prøver at installere. Måske er der allerede nogle referencer, og dette undgår, at du kan installere de nye.
Hvis du finder referencerne der, skal du slette referencen fra packages.config og prøve at installere pakken igen.
Det skete nogle gange for mig, at inde i packages.config er nogle gamle referencer, der stadig er tilbage, selv efter at have fjernet pakken fra Nuget Package Manager.
Hvis ikke, kan du slette hele packages.config, så hvis du har mulighed for at lade Nuget downloade pakkerne, vil pakkerne blive downloadet igen, når du bygger din løsning.
Jeg håber, at dette hjælper
Din stack-trace fortæller historien, den er NuGet.NetPortableProfileTable.BuildPortableProfileCollection()
det mislykkes. I en nøddeskal gentager den sættet af PCL-referencesamlingsprofiler og støder på den samme profil mere end én gang. Dette er et meget stærkt hint om, at indholdet af din c:\program files (x86)\reference assemblies\microsoft\framework\.netportable
biblioteket er beskadiget.
Der er mange mulige måder at løse skaden på:
- Hvis du har en aktiv erindring om at pille ved denne mappe, som at kopiere filer, så fortryd, hvad du gjorde.
- Den sikreste måde at gøre det på er at afinstallere alle Visual Studio-versioner>=VS2010. Ryd derefter op i mappen med hånden, og slet eventuelle omstrejfende filer, der stadig er til stede. Geninstaller derefter VS igen.
- Den knap så sikre, men hurtigere måde er at omdøbe mappen c:\program files (x86)\reference assemblies og installer multi-targeting-pakken. Jeg kan ikke love succes.
- Du kan selv prøve at finde duplikatet og fjerne det. Biblioteksstrukturen ser sådan ud:
Directory of C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile
05/14/2014 01:01 PM <DIR> Profile1
05/14/2014 01:01 PM <DIR> Profile102
05/14/2014 01:01 PM <DIR> Profile104
05/14/2014 01:01 PM <DIR> Profile131
05/14/2014 01:01 PM <DIR> Profile136
05/14/2014 01:01 PM <DIR> Profile14
05/14/2014 01:01 PM <DIR> Profile143
05/14/2014 01:01 PM <DIR> Profile147
05/14/2014 01:01 PM <DIR> Profile154
05/14/2014 01:01 PM <DIR> Profile158
05/14/2014 01:01 PM <DIR> Profile18
05/14/2014 01:01 PM <DIR> Profile19
05/14/2014 01:01 PM <DIR> Profile2
05/14/2014 01:01 PM <DIR> Profile225
05/14/2014 01:01 PM <DIR> Profile23
05/14/2014 01:01 PM <DIR> Profile24
05/14/2014 01:01 PM <DIR> Profile240
05/14/2014 01:01 PM <DIR> Profile255
05/14/2014 01:01 PM <DIR> Profile3
05/14/2014 01:01 PM <DIR> Profile328
05/14/2014 01:01 PM <DIR> Profile336
05/14/2014 01:01 PM <DIR> Profile344
05/14/2014 01:01 PM <DIR> Profile36
05/14/2014 01:01 PM <DIR> Profile37
05/14/2014 01:01 PM <DIR> Profile4
05/14/2014 01:01 PM <DIR> Profile41
05/14/2014 01:01 PM <DIR> Profile42
05/14/2014 01:01 PM <DIR> Profile46
05/14/2014 01:01 PM <DIR> Profile47
05/14/2014 01:01 PM <DIR> Profile5
05/14/2014 01:01 PM <DIR> Profile6
05/14/2014 01:01 PM <DIR> Profile88
05/14/2014 01:01 PM <DIR> Profile92
05/14/2014 01:01 PM <DIR> Profile95
05/14/2014 01:01 PM <DIR> Profile96
Directory of C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile
05/14/2014 12:59 PM <DIR> .
05/14/2014 12:59 PM <DIR> ..
05/14/2014 01:01 PM <DIR> Profile111
05/14/2014 01:01 PM <DIR> Profile259
05/14/2014 01:01 PM <DIR> Profile49
05/14/2014 01:01 PM <DIR> Profile7
05/14/2014 01:01 PM <DIR> Profile78
Directory of C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.6\Profile
05/14/2014 12:59 PM <DIR> .
05/14/2014 12:59 PM <DIR> ..
05/14/2014 01:01 PM <DIR> Profile151
05/14/2014 01:01 PM <DIR> Profile157
05/14/2014 01:01 PM <DIR> Profile31
05/14/2014 01:01 PM <DIR> Profile32
05/14/2014 01:01 PM <DIR> Profile44
05/14/2014 01:01 PM <DIR> Profile84
Det ser ud til, at NuGet finder en dublet Portable Class Library (PCL)-profil på din maskine. Det er en skam, at nøglen ikke er logget i undtagelsen callstack, hvilket ville gøre tingene nemme.
Du kan prøve Jon Skeets PclPal-program, som kan liste PCL-profilerne og se, om der er noget duplikeret.
Jeg har et andet MonoPcl-program, der gør noget lignende. Det refererer til Mono, men fungerer på Windows. Den bruger NuGet-kildekoden, så den vil have det samme problem, som du ser i Visual Studio. Du bør dog være i stand til at ændre koden for at fange undtagelsen eller tilføje noget ekstra logning for at se, hvad den duplikerede PCL-profil er, der forårsager problemet.