Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Introduction

Des problèmes de bibliothèques de classes portables peuvent se produire après l’installation de Microsoft Visual Studio 2012 Update 2. Cet article décrit les problèmes et leurs solutions.

Problème 1

Symptômes

Lorsque vous utilisez des ressources pour créer un projet de bibliothèque de classes Portable après l’installation de Visual Studio 2012 Update 2, vous pouvez recevoir des messages d’erreur suivants :

« System.Type » ne contient pas une définition de 'Assembly' et aucune méthode d’extension 'Assembly' acceptant un premier argument de type 'System.Type' n’est introuvable (manquante à l’aide d’une directive ou une référence d’assembly ?)

Remarque  Vous recevez cette erreur lorsque vous utilisez Microsoft Visual C#.

'Assembly' n’est pas un membre de 'System.Type'

Remarque  Vous recevez cette erreur lorsque vous utilisez Microsoft Visual Basic.

Ce problème se produit lorsqu’une des plates-formes suivantes est ciblée dans votre projet :

  • Le Microsoft.NET Framework 4.5 et .NET pour les applications Windows Store

  • Le.NET Framework 4.5 et Windows Phone 8

  • Le.NET Framework 4.5, le .NET pour les applications Windows Store et Windows Phone 8


Solution de contournement

Pour contourner ce problème, corrigez le code généré par le concepteur du fichier de ressources. Pour ce faire, double-cliquez sur le message d’erreur et puis procédez comme suit :

Pour Visual C#

  1. Ajoutez le code suivant à l’aide de la directive :

    using System.Reflection;
  2. Recherchez le code suivant :

    typeof(Resource1).Assembly

    Remplacez ce code par le code suivant :

    typeof(Resource1).GetTypeInfo().Assembly

Le code suivant est un exemple qui présente ce problème :

        /// <summary> 
/// Returns the cached ResourceManager instance used by this class.

/// </summary>

[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]internal static global::System.Resources.ResourceManager ResourceManager { get {

if (object.ReferenceEquals(resourceMan, null)) {

global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PortableClassLibrary2.Resource1", typeof(Resource1).Assembly);

resourceMan = temp;

}

return resourceMan;
}
}


Visual Basic

  1. Ajoutez le code suivant à l’aide de la directive :

    Imports System.Reflection;
  2. Recherchez le code suivant :

    GetType(Resource1).Assembly

    Remplacez ce code par le code suivant :

    GetType(Resource1).GetTypeInfo().Assembly

Le code suivant est un exemple qui présente ce problème :

        '''<summary>
''' Returns the cached ResourceManager instance used by this class.

'''</summary>

<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _

Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager

Get

If Object.ReferenceEquals(resourceMan, Nothing) Then

Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("PortableClassLibrary1.Resource1", GetType(Resource1).Assembly)

resourceMan = temp

End If

Return resourceMan

End Get

End Property


Problème 2

Symptômes

Vous ne pouvez pas utiliser les ressources pour générer un projet de bibliothèque de classes Portable après avoir installé la mise à jour 2 de Visual Studio 2012. En outre, vous pouvez recevoir un des différents messages d’erreur. Par exemple, un des messages d’erreur suivants peut s’afficher :

Le type 'System.Net.HttpStatusCode' est défini dans un assembly qui n’est pas référencé. Vous devez ajouter une référence à l’assembly ' System.Net, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes.


Impossible de convertir implicitement le type 'System.Net.HttpStatusCode' en ' System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll]'


Notez que ce problème se produit lorsqu’une des plates-formes suivantes est ciblée dans votre projet :

  • Le.NET Framework 4.5 et Windows Phone 8

  • Le.NET Framework 4.5, le .NET pour les applications Windows Store et Windows Phone 8


Cause

Ce problème se produit car Visual Studio 2012 Update 2 a été installé après que le Windows Phone Development Kit (SDK) 8.0 a été installé. Par conséquent, les fichiers suivants ont été supprimés :

  • %programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile49\System.Net.dll

  • %programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile49\System.ServiceModel.dll

  • %programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile78\System.Net.dll

  • %programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile78\System.ServiceModel.dll


Solution de contournement

Pour résoudre ce problème, exécutez le programme de réparation de Visual Studio 2012. Pour ce faire, procédez comme suit :

  1. Cliquez sur Démarrer, cliquez sur Panneau de configuration, cliquez sur programmes, puis cliquez sur programmes et fonctionnalités.

  2. Avec le bouton droit de la version de Visual Studio 2012 que vous avez installée, puis cliquez sur Modifier.

  3. Lorsque l’Assistant d’installation de Visual Studio 2012 s’ouvre, cliquez sur Réparer .

Remarque : Si vous configurez un nouvel environnement de développement, afin d’éviter ce problème, vous devez installer Visual Studio 2012 Update 2 avant d’installer le Kit de développement Windows Phone 8.0.

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×