Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Introducere

Portabil biblioteci de clase de probleme pot apărea după ce instalați Microsoft Visual Studio 2012 2 de actualizare. Acest articol descrie aceste probleme și soluții lor.

Problema 1

Simptome

Când utilizați resurse pentru a construi un proiect portabil biblioteci de clase după instalarea Visual Studio 2012 actualizare 2, este posibil să primiți următoarele mesaje de eroare:

'System.Type' nu conține o definiție pentru 'Assembly' și s-a găsit nicio extensie metoda 'Assembly' accepta un primul argument de tip 'System.Type' (care lipsesc utilizând o directivă sau o referinţă de asamblare?)

Notă Primiți această eroare când utilizați Microsoft Visual C#.

'Assembly' nu este membru al 'System.Type'

Notă Primiți această eroare când utilizați Microsoft Visual Basic.

Această problemă apare când una dintre următoarele platforme vizat în proiect:

  • Microsoft .NET Framework 4.5 și .NET pentru aplicaţii magazin Windows

  • .NET Framework 4.5 și Windows Phone 8

  • .NET Framework 4.5, .NET pentru aplicaţii magazin Windows și Windows Phone 8


Soluție

Pentru a rezolva această problemă, fix codul generat de designer a fișierului de resurse. Pentru aceasta, faceți dublu clic pe mesajul de eroare și apoi urmați acești pași:

Pentru Visual C#

  1. Adăugați următoarele folosind Directiva:

    using System.Reflection;
  2. Găsiți codul următor:

    typeof(Resource1).Assembly

    Înlocuiți acest cod cu codul următor:

    typeof(Resource1).GetTypeInfo().Assembly

Următorul cod este un exemplu care are această problemă:

        /// <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. Adăugați următoarele folosind Directiva:

    Imports System.Reflection;
  2. Găsiți codul următor:

    GetType(Resource1).Assembly

    Înlocuiți acest cod cu codul următor:

    GetType(Resource1).GetTypeInfo().Assembly

Următorul cod este un exemplu care are această problemă:

        '''<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


Problema 2

Simptome

Aveți posibilitatea să utilizați resurse pentru a construi un proiect portabil biblioteci de clase după instalarea Visual Studio 2012 Update 2. În plus, este posibil să primiți unul dintre mai multe mesaje de eroare. De exemplu, este posibil să primiți unul dintre următoarele mesaje de eroare:

Tastați 'System.Net.HttpStatusCode' este definit în unei asamblări care se face referire la. Trebuie să adăugați o referință la asamblarea ' System.Net, versiune = 2.0.5.0, Culture neutral, PublicKeyToken = = 7cec85d7bea7798e, Retargetable = Yes'.


Implicit nu poate efectua conversia tip 'System.Net.HttpStatusCode' la ' System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll]'


Notă această problemă apare când una dintre următoarele platforme vizat în proiect:

  • .NET Framework 4.5 și Windows Phone 8

  • .NET Framework 4.5, .NET pentru aplicaţii magazin Windows și Windows Phone 8


Cauza

Această problemă apare deoarece Visual Studio 2012 2 de actualizare a fost instalat după ce s-a instalat Windows Phone Software Development Kit (SDK) 8.0. De aceea, au fost șterse următoarele fișiere:

  • %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


Soluție

Pentru a rezolva această problemă, executați programul de reparare Visual Studio 2012. Pentru a face acest lucru, urmați acești pași:

  1. Faceți clic pe Start, faceți clic pe Panoul de Control, faceți clic pe programeși apoi faceți clic pe programe și caracteristici.

  2. Faceți clic dreapta pe versiunea de Visual Studio 2012 pe care le-ați instalat și apoi faceți clic pe Modificare.

  3. Când se deschide Expertul de Visual Studio 2012 programul de instalare, faceți clic pe reparare .

Notă Dacă ați configurat un mediu de dezvoltare nou, pentru a evita această problemă, se recomandă instalarea Visual Studio 2012 Update 2 înainte de a instala Windows Phone 8.0 SDK.

Stare

Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×