Install-Package: échec de l'ajout d'une référence à 'System.Runtime'

j'essaie d'installer l'Autofac package nuget dans mon projet en utilisant la commande

Install-Package -Prerelease Autofac

mais il échoue avec l'erreur

Install-Package : Failed to add reference to 'System.Runtime'. Please make sure that it is in the Global Assembly Cache.

j'ai essayé de re-installer .net Framework 4.5.2 (qui est la version que mon projet cible) mais j'ai reçu le message ".NET Framework 4.5.2 est déjà installé". Cependant, la recherche C:WindowsassemblySystem.Runtime.dll ne trouve aucune correspondance exacte (bien qu'il y ait quelques cas de System.Runtime.ni.dll, ce qui (semble indiquer) qu'ils sont même assemblée...).

Que puis-je faire à ce sujet?

project config

mise à Jour: apparemment j'étais confus au sujet de l'emplacement du GAC. Amy m'a éclairé, et de chercher dans l' C:WindowsMicrosoft.NETassembly au lieu de I trouver System.Runtime.dll. Pourquoi Visual Studio?

14
demandé sur Community 2015-07-20 17:38:02

2 réponses

j'ai eu le même problème.

Trouvé la solution ici: https://github.com/aspnet/WebHooks/issues/18

Pour le fixer, j'ai ajouté <Reference Include="System.Runtime"/> pour l' .csproj

fichier pour le projet, reconstruit et il a travaillé.

22
répondu Roboblob 2016-10-11 08:58:14

s'il vous plaît assurez-vous qu'il est dans la Cache D'assemblage Global.

C'est un trop message d'erreur inutile. Non seulement il ne décrit pas le vrai problème, mais il vous mène drastiquement égaré pour trouver une solution. Une référence d'assemblage pour un .net Framework assembly doit jamais proviennent du GAC. Le type de modes de défaillance quand il le fait peut être excessivement méchant pour diagnostiquer. Référence assemblées doivent viennent de la C:\Program fichiers (x86) \ répertoire de référence des assemblages.

en regardant le .le fichier nuspec pour le paquet Autofac nuget que vous essayez d'installer, il supporte deux cibles distinctes. L'un est pour DNXCore version 4.0.10-beta-22816. Espérons que vous ne l'utilisez pas, ce projet change rapidement.

l'autre est .net Portable, profil 259. Ce qui permet à votre projet de cibler .NET 4.5.X, Store, Phone80 et Phone81. Ce que le message d'erreur vous dit c'est qu'il a du mal à trouver ce profil. Utilisez Windows Explorer pour avoir un look-Voir, le profil est stocké dans le C:\Program fichiers (x86)\reference Assemblies\Microsoft\Framework.NETPortable\v4.5\Profile \ Profile259 directory. Il a le Système requis.Runtime.dll assemblage de référence.

Eh bien, sûrement il a disparu, Je ne peux pas deviner la raison sous-jacente.

ils ont fait des erreurs subtiles dans le.dossier nuspec. Envisagez une version plus stable D'Autofac, tu ne veux probablement pas être un bêta-testeur. Et ne visez pas 4.5.2, ça ne sert à rien. Il n'ajoute rien d'intéressant et forcer votre utilisateur à mettre à jour son installation .NET n'est pas très raisonnable.

17
répondu Hans Passant 2017-05-23 12:02:43