Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.

Ievads

Portatīvā klašu bibliotēku problēmas var rasties, instalējot Microsoft Visual Studio 2012. gada 2. atjauninājumu. Šajā rakstā ir izklāstīts šīs problēmas un to risinājumi.

1. problēma

Pazīmes

Lietojot resursi portatīvo klases bibliotēkas projekts veidot pēc instalēšanas Visual Studio 2012 Update 2, varat saņemt šādus kļūdas ziņojumus:

'System.Type' nesatur definīcija "Mezgls" un "Mezgls" pieņem pirmais arguments "System.Type" tipa paplašinājumu metodi nevar atrast (trūkst datu, izmantojot direktīvas vai montāžas atsauce?)

Piezīme. Šī kļūda rodas, ja izmantojat Microsoft Visual c#.

"Mezgls" nav iekļauts "System.Type"

Piezīme. Šī kļūda rodas, ja izmantojat Microsoft Visual Basic.

Šī problēma rodas, ja kādu no šādām platformām paredzēta projekta:

  • Microsoft .NET Framework 4.5 un .NET Windows veikala programmām

  • .NET Framework 4.5 un Windows Phone 8

  • .NET Framework 4.5 .NET Windows veikala programmām un Windows Phone 8


Risinājums

Lai novērstu šo problēmu, labot noformētājs ģenerēts kods resursu fails. Lai to izdarītu, veiciet dubultklikšķi uz kļūdas ziņojumu un pēc tam rīkojieties šādi:

Par Visual c#

  1. Pievienojiet šādu direktīvu, izmantojot:

    using System.Reflection;
  2. Atrodiet šādu kodu:

    typeof(Resource1).Assembly

    Nomainiet šo kodu ar šādu kodu:

    typeof(Resource1).GetTypeInfo().Assembly

Šis kods ir piemērs, kurā ir šī problēma:

        /// <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. Pievienojiet šādu direktīvu, izmantojot:

    Imports System.Reflection;
  2. Atrodiet šādu kodu:

    GetType(Resource1).Assembly

    Nomainiet šo kodu ar šādu kodu:

    GetType(Resource1).GetTypeInfo().Assembly

Šis kods ir piemērs, kurā ir šī problēma:

        '''<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ēma 2

Pazīmes

Resursu nevar izmantot, lai izveidotu portatīvo klases bibliotēkas projektu pēc instalēšanas Visual Studio 2012 Update 2. Turklāt, jūs, iespējams, saņemsit daudzus dažādus kļūdu ziņojumus. Piemēram, varat saņemt kādu no šiem kļūdas ziņojumiem:

Ierakstiet "System.Net.HttpStatusCode" ir definēts montāžas nav atsauces. Jāpievieno atsauce uz montāžas ' System.Net, Version = 2.0.5.0 Culture neutral, PublicKeyToken = = 7cec85d7bea7798e Retargetable = Jā.


Nevar tieši konvertēt tipu 'System.Net.HttpStatusCode' ' System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll] "


Ievērojiet, ka šī problēma rodas, ja kādu no šādām platformām paredzēta projekta:

  • .NET Framework 4.5 un Windows Phone 8

  • .NET Framework 4.5 .NET Windows veikala programmām un Windows Phone 8


Cēlonis

Šī problēma rodas tādēļ, ka Visual Studio 2012 Update 2 tika uzstādīta pēc instalēšanas Windows Phone programmatūras izstrādes komplekts (SDK) 8.0. Tādēļ ir izdzēsti šādi faili:

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


Risinājums

Lai novērstu šo problēmu, palaidiet programmu Visual Studio 2012 remonts. Lai to izdarītu, izpildiet tālāk norādītās darbības.

  1. Noklikšķiniet uz Sākt, noklikšķiniet uz Vadības panelis, noklikšķiniet uz programmasun pēc tam noklikšķiniet uz programmas un līdzekļi.

  2. Ar peles labo pogu noklikšķiniet uz Visual Studio 2012 instalētās versijas un pēc tam noklikšķiniet uz mainīt.

  3. Atverot Visual Studio 2012 iestatīšanas vedni, noklikšķiniet uz izlabot .

Piezīme. Iestatot jauna izstrādātāja vidē, lai novērstu šo problēmu, ir jāinstalē Visual Studio 2012 Update 2 pirms instalējat Windows Phone 8.0 SDK.

Statusa

Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×