Le type 'System.Object' est défini dans un assembly qui n'est pas référencé
J'ai installé Microsoft ASP.NET l'API Web de Compression de package nuget à mon projet et ajouté une ligne à WebApiconfig à l'intérieur de vous Inscrire méthode comme indiqué dans ce lien https://www.nuget.org/packages/Microsoft.AspNet.WebApi.MessageHandlers.Compression/
GlobalConfiguration.Configuration.MessageHandlers.Insert(0, new CompressionHandler(new GZipCompressor(), new DeflateCompressor()));
Également ajouté le code suivant pour le web.fichier de configuration
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</assemblies>
</compilation>
Mais j'obtiens une erreur
Erreur 1 Le type de Système.L'objet " est défini dans une assemblée qui n'est pas
référencé. Vous devez ajouter une référence à l'assembly 'Système.De l'exécution,
Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a'. D:....\App_Start\WebApiConfig.cs
Le compilateur se plaint GlobalConfiguration classe avec l'erreur ci-dessus. Je suis à l'aide de >NET Framework 4.5
source d'informationauteur user3772857
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce même message d'erreur et a obtenu autour de lui en faire 2 choses.
De fond:
Je suis en train de construire un test simple ASP.Net demande d'essayer de travailler avec Google API OAuth2.0. J'ai utilisé "nuget" pour installer le
Google.Apis.Calendar.v3 (v1.13.1.509)
bibliothèque, et il a apporté dans beaucoup d'autres dll dont il dépend.L'Erreur:
Lors de la compilation d'une apparence simple ASP.Net projet ciblant les "Framework 4.5" sur Visual Studio 2015 pour le Web (Express). L'erreur a montré lui-même de 2 façons:
L'origine, j'avais compilé le code à l'aide de la commande créer
Ctrl+F5
. Puis j'ai eu une erreur de compilation, mais sans entrée dans "l'Erreur" de l'onglet qui, normalement, aurait point à une ligne de code source. (Le projet n'aurait tout simplement arrêter de construire). La sortie a été:J'ai ensuite entrepris par l'installation de la dotNet Cadre 4.6.1 Developer Pack (la version la plus récente qui n'est pas un extrait).
Puis j'ai redémarré VS 2015 pour le Web et a obtenu de construire à nouveau. Cette fois j'ai eu une entrée dans le "Erreur" de l'onglet, qui fait ressortir la ligne de source:
Quand je commente cette ligne, le projet de construction. Je pouvait très bien ne rien faire à ce sujet, mais je voulais juste montrer l'obscurité de l'erreur!
Solutions:
Après l'installation de Cadre 4.6.1 Developer Pack. J'ai également ajouté cette ligne dans le site Web.Config:
Après cela, mon projet d'en créer. Mon hypothèse serait que Google est en se référant à l'ancienne System.Runtime.dll (bien que leur package Nuget détail montre que l'objectif du cadre est de 4,5).
C'était un peu difficile parce que j'ai aussi essayé d'ajouter la référence de l'assemblage à la racine du projet Web.fichier de configuration d'abord, ce qui ne l'aide pas dans mon cas. Après que j'ai fait la même chose pour le Web.config fichier qui se trouve dans le Vues dossier pour mon ASP.NET projet MVC: Vues\Web.config
Ci-dessus a travaillé.
En fait j'avais déjà une référence d'assembly
System.Web.Mvc
là avant, donc voici la liste complète de mes ASP.NET projet MVC.Extrait de http://www.lyalin.com/2014/04/25/the-type-system-object-is-defined-in-an-assembly-that-is-not-reference-mvc-pcl-issue/
L'installation et le retrait du Système.ValueTuple via Nuget gauche un
System.ValueTyple.dll
fichier dans mon dossier bin. La suppression il a résolu le problème pour moi.J'ai résolu ce problème en mettant à niveau en C# compilateur Roslyn.
Vous pouvez le faire en allant à
Project
-Enable latest C# and VB features for ASP.NET Project
.