Visual Studio 2010: Impossible de résoudre MSCorLib pour Target Framework '.NetFramework, version = v4.0'

StackOverflow https://stackoverflow.com/questions/5498624

Question

Nous migrons actuellement toutes nos solutions de 2005 à 2010 (c'est vrai, nous sautons en 2008!). Nous modifions également notre structure de fichiers pour avoir plus de sens (certains projets communs seraient imbriqués dans des projets spécifiques, etc.).

Cela signifie que les références doivent être modifiées! En dehors de cela, nous les définissons également sur .NET 4.0. Pour ce faire, nous avons fait une solution "Dieu" avec les 117 projets dans la même solution.

Je fais cela avec un collègue et jusqu'à il y a environ 2 heures, tout se passait comme prévu. Cependant, nous avons rencontré un problème avec l'un des 117 projets. Ce projet refuse de "afficher" ses références, ressources, services et onglets de paramètres dans les propriétés du projet.

J'obtiens le message exact suivant:

Impossible de résoudre MSCorLib pour Target Framework '.NETFRAMEWROWN, Version = V4.0'. Cela peut se produire si le cadre cible n'est pas installé ou si le surnom de framework est mal formaté.

Maintenant, c'est ennuyeux mais ça empire. Mon collègue, lorsqu'il obtient la même solution de Subversion, peut réellement voir et changer les références et les choses. En fait, le projet s'appuie actuellement sur sa machine. Il a commis les changements mais je ne peux pas construire ce projet spécifique, ni voir les références.

Ce qui m'amène à la simple conclusion, quelque chose doit être différent sur mon client, ce qui cause des ennuis! Les suggestions en ligne que j'ai vues sont les suivantes:

  • Plusieurs versions .NET4.0 installées (ce n'est pas le cas sur mon client)
  • .NET V3.5 n'est pas installé; V4.0 essaie de construire v3.5 (3.5 est installé sur mon client)
  • La clé inscrit: onlyUSELATESTCLR est réglé et baise les choses! (scanné mon registre, cette clé n'est présente nulle part!)

Voir: http://connect.microsoft.com/visualstudio/feedback/details/542789/

La seule chose que je n'ai pas encore essayée que je pourrais faire est de réparer .NET 4.0 Comme je doute fortement que ce soit le problème, car nous avons environ 100 autres projets que je peux éditer et construire très bien. C # et VB.NET.

Était-ce utile?

La solution 2

Microsoft Visual Basic pour les applications Extensibilité 5.3 (vbide) est le nom du diable !!!

Apparemment, c'est une référence que mon collègue avait d'une manière ou d'une autre, mais je ne l'ai pas fait et à cause de cette référence, tout est mort. Nous l'avons découvert parce que si vous vérifiez "Afficher tous les fichiers" sur le projet spécifique (qui est un projet VB.NET), vous obtenez le dossier Sweet Reférences, qui n'est normalement pas là pour le projet VB.NET, il semble. Lorsque l'onglet nous a échoué, le dossier nous a montré une référence avec un avertissement. Apparemment, c'est quelque chose que le compilateur ou VS2010 ne pouvait pas me le dire, mais c'était exactement ce qui nous a gâché pour nous.

Donc, si vous obtenez cette erreur lorsque vous travaillez sur un projet, "Afficher tous les fichiers" afin que vous puissiez voir le dossier des références et découvrez quelle référence pourrait causer vos problèmes!

Je suis content que cela ait trouvé cela, après plus de 3 heures !! >.

Autres conseils

Il se peut que le chemin vers votre solution soit trop long:

Sens:

C: myproject dossier sous-dossier ...

devrait être sous "256 caractère".

http://wcfvs.blogspot.com/2011/04/could-not-resolve-mscorlib-for-target.html

J'ai trouvé ce fil quand j'ai eu le même problème mais que je n'avais aucun problème de référence. J'ai trouvé le lien ci-dessus et cela a résolu mon problème. J'espère que cela aidera quelqu'un d'autre qui vient ici avec le même problème.

J'obtenais cette erreur ce matin. Je viens de faire ce qui suit:

  1. Reconstruire le projet
  2. Visual Studio fermé
  3. Visual Studio rouvert

Et l'erreur a disparu.

J'ai travaillé sur mon projet enregistré le travail et fermé Visual Studio 2010. Lorsqu'il a de nouveau ouvert pour travailler, j'ai obtenu cette erreur, je viens de fermer Visual Studio a de nouveau copié le fichier où mon projet a été enregistré et je l'ai collé ailleurs (dans un fichier sur mon bureau ) Et j'ai ouvert à nouveau le projet avec VS2010 et cela fonctionnait.

J'ai eu le même problème avec une référence de service (Web) dans mon projet. Tous les deux "Mettre à jour la référence du service" et "Configurer la référence du service"n'a plus fonctionné.

Eh bien, jetons simplement la référence du service (Web) et créez à nouveau. Ne pas aller! Même message d'erreur.

Solution: modifiez le fichier du projet et supprimez tout ce qui a à voir avec les références de service.

Des instructions:

  • Accédez à l'explorateur de solutions et cliquez avec le bouton droit sur le nom du projet et sélectionnez "Déchargez le projet".
  • Accédez à l'explorateur de solutions et cliquez avec le bouton droit sur le nom du projet et sélectionnez "Modifier votre ProjectName.proj"
  • Supprimer chaque élément avec quelque chose à voir avec vos références de service (Web). (Généralement il contient du texte "Références de service")
  • Accédez à l'explorateur de solutions et cliquez avec le bouton droit sur le nom du projet et sélectionnez "Recharger le projet".
  • Ajoutez maintenant à nouveau vos références de service (Web).

Problème résolu (eh bien c'était dans mon cas).

Je suppose de ce qui aurait pu arriver: j'ai changé un cours quelque part dans mon service Web. L'interface n'a pas été modifiée et Visual Studio ne voit en quelque sorte pas les changements. La configuration (mise en cache?) Ne correspond plus et la configuration / reconstruire / supprimer le service (Web) échoue.

J'ai eu le même problème et après avoir essayé la majeure partie de ce qui précède, y compris la réinstallation de .NET 4.0 et le redémarrage n'a toujours pas disparu.

J'ai finalement résolu en déplaçant mon arbre de projet plus bas. c'est à dire. plus près de la racine du lecteur. Il s'avère que le répertoire et les noms de fichiers étaient trop longs et je pense que les références étaient tronquées et ne pouvaient donc pas résoudre.

Le problème est venu immédiatement.

J'ai eu ce problème aujourd'hui et la solution était de modifier manuellement le Ressources.resx fichier manuellement.

Mon Ressources.resx Le fichier ressemblait à ceci:

  <data name="SomeString" xml:space="preserve">
    <value>I am a string</value>
  </data>
  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <data name="MyLogo" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\MyLogo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="Open" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\Open.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>

Il s'est avéré que Visual Studio n'a pas aimé les deux <data> éléments après le <assembly> élément, ce qui est étrange compte tenu du fait que Visual Studio les a ajoutés là-bas. Mon problème a été résolu après les avoir déplacés avant le <assembly> élément:

  <data name="SomeString" xml:space="preserve">
    <value>I am a string</value>
  </data>
  <data name="MyLogo" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\MyLogo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="Open" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\Open.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

M'est arrivé dans l'éditeur de ressources.

Cause: J'importais un fichier .targets, qui définissait une propriété appelée AppConfigfile, qui a probablement survécu à une propriété interne du même nom:

<PropertyGroup>
  <AppConfigFile>...</AppConfigFile>
</PropertyGroup>

Correction: renommée des biens à un autre nom, et le problème a disparu.

J'ai eu ce problème dans Visual Studio 2013 en passant de .NET 4.5 à .NET 4.6.2. Le projet Problème était un projet de site Web.

Visual Studio exécute automatiquement un outil qui génère Reference.svcmap. La référence.cs commence par:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

Le simple fait de choisir la nouvelle version .NET a provoqué Visual Studio pour nettoyer les fichiers générés et ne pas remplir le contenu. J'ai essayé toutes les solutions ci-dessus mais aucune n'a fonctionné. Finalement, j'ai choisi .NET 4.5.1 suivi de .NET 4.6.2 et l'outil a fonctionné. La différence dans les fichiers n'était que le numéro de version de l'outil qui était dans un commentaire, donc j'aurais pu récupérer les fichiers à partir de Git.

Vérifiez que le framework cible dans les propriétés du projet est défini correctement - par défaut, il s'agit de ".NET Framework 4.0 Client" - il se peut que vous ayez besoin ".NET Framework 4.0"

voir ce fil Cela ressemble au même problème

Vous pouvez également réviser Cet article qui concerne le débogage d'un problème avec le même symptôme utilisant le réflecteur

J'ai eu le même problème lorsque le répertoire source a été lu seulement. Si je synchronise mon espace de travail avec notre serveur de contrôle de version (perforce), il fera lire tous les répertoires uniquement par défaut, sauf si je sélectionne que je vérifie le répertoire pour l'édition. Parfois, je suis paresseux et je ne le fais pas car je suis la seule personne à travailler sur certains de ces projets à tout moment. Mais cette erreur disparaît, effacez le drapeau de lecture uniquement.

Ce qui m'est arrivé, c'est que toutes mes références sur mon projet ont été perdues, j'ai donc dû les insérer à nouveau.

Pour moi, le simple fait de définir Target Framework 4.0 a résolu mon problème. Parfois, le cadre cible est clair d'une manière ou d'une autre. Cela pourrait causer un problème.

J'ai couru dans ce problème aujourd'hui, et cela s'est avéré être dû à des noms de fichiers trop longs dans le projet.

Ceci, à son tour, a été causé par certaines références de service. Lorsqu'une référence de service est importée ou mise à jour, Visual Studio génère des fichiers .DataSource, où le nom de fichier est le nom entièrement qualifié. Cela signifie de très longs noms dans certains cas.

En googlant autour de Google, j'ai trouvé des indices qu'il était sûr de supprimer ces fichiers. Vérifier cette ou cette dehors.

La suppression de ces fichiers .Datasource a supprimé le problème.

Je migrais un projet VB.NET vers VS 2015. J'ai également eu le même problème. Le problème ne concerne pas le framework .NET, car j'ai pu créer un nouveau projet ciblant les versions de framework spécifiques et il a réussi.

Dans mon cas, le projet faisait référence à FPSPreadado et à d'autres bibliothèques similaires. Cela a bien fonctionné une fois que j'ai supprimé ces références.

J'ai eu une erreur similaire dans le projet PCL Xamarinforms.
J'ai découvert que l'erreur concernait une référence du projet. J'ai mis à jour le xamarin.forms à la dernière version et pour certaines raisons, Nuget n'a pas pu supprimer toutes les références de la version précédente du fichier de projet (XML).
Donc, j'ai simplement supprimé la ligne suivante du fichier du projet et cela a fonctionné!

<Error Condition="!Exists('..\..\packages\Xamarin.Forms.2.3.1.114\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.2.3.1.114\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />

J'espère que ça aide quelqu'un ...

J'ai aussi eu cette erreur. ("Impossible de résoudre MSCorLib pour Target Framework '.NETFRAMEWROWN 4.5.1'. Cela peut se produire si le cadre cible n'est pas installé ou si le surnom de framework est mal formaté.").

Cela s'est produit lorsque j'ai changé le cadre de 3,5 à 4.5.1 sur un projet VB 2013. La solution consistait à supprimer toutes les références sur le fichier .vbproj: toutes les références étiquetées de référence et de groupes de comréférence.

Bien sûr, juste après avoir fait cela, toutes sortes d'autres erreurs sont apparues sur le projet.

Ensuite, j'ai commencé à les copier, un par un au même endroit, en copiant à partir d'un sauvegarde afin d'identifier lesquels entre eux (j'ai copié ceux liés aux nouvelles erreurs que j'ai obtenues pour les réparer ), rafraîchissant le projet à chaque fois jusqu'à ce que la fenêtre affectée visualise correctement.

Il en résulte qu'il s'agissait de références de bibliothèques personnalisées qui ont créé ce problème. J'espère que cela pourrait aider quelqu'un. Acclamations!

Un développeur.

J'ai rencontré ce numéro aujourd'hui dans Visual Studio 2017 sur un projet que j'avais apparemment commencé comme une application universelle de plate-forme Windows mais finalement réglé sur une application de bureau Windows Forms.

D'une manière ou d'une autre, soit par une erreur de branchement ou de commettre un problème dans le contrôle de la source, certains des fichiers UWP XAML obsolètes / jetés, ainsi qu'un fichier "project.json" se retrouve dans mon dossier de projet. VS ne créerait plus ou ne lancerait plus mon application Windows Forms avec une erreur similaire à celle rapportée par d'autres ci-dessus (par exemple, "n'a pas pu résoudre MSCorLib pour Target Framework '.NetFramework, version = v4.7" ").

Après avoir supprimé toutes les ordures UWP obsolètes (y compris "project.json", tous les fichiers XAML et toute autre non-sens connexe) hors du dossier du projet et rechargeant la solution, les erreurs ont disparu et le projet à la fois construit et lancé avec succès.

J'espère que cela t'aides.

Dans la plupart des cas, cela s'est produit en raison d'une référence manquante.
Dans Solution Explorer -> Référence -> Vous pouvez voir la référence manquante (en jaune) Il suffit d'ajouter la référence, tout ira bien.

J'ai rencontré cela aujourd'hui.

Dossiers de bac et d'OBJ supprimés.

Visual Studio a rouvert et cela a soudainement fonctionné.

Ma solution était de télécharger et d'installer le Microsoft.NETCore.UniversalWindowsPlatform du gestionnaire de packages NuGet

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top