Úvod

Prenosný knižnice tried problémy môžu nastať, ak nainštalujete program Microsoft Visual Studio 2012 aktualizácia 2. Tento článok popisuje tieto problémy a ich riešenia.

Problém 1

Príznaky

Pri použití prostriedkov vytvoriť prenosné triedy knižnica projekt po inštalácii Visual Studio 2012 aktualizácia 2, zobrazí sa chybové hlásenie:

"System.Type" neobsahuje definíciu pre "Zhromaždenia" a rozšírenie metóda "Zhromaždenia" prijímať prvý argument typu "System.Type" sa nenašiel (vám chýbajú pomocou smernice alebo odkaz na zostavu?)

Poznámka:  Táto chyba sa zobrazuje, keď použijete program Microsoft Visual C#.

"Zhromaždenia" nie je členom "System.Type"

Poznámka:  Táto chyba sa zobrazuje, keď použijete program Microsoft Visual Basic.

Tento problém sa vyskytuje, keď jeden z nasledujúcich platforiem spomína v projekte:

  • Microsoft .NET Framework 4.5 a .NET pre Windows Store aplikácie

  • Windows Phone 8 a .NET Framework 4.5

  • .NET Framework 4.5, .NET aplikácií zo služby Windows Obchod a Windows Phone 8


Alternatívne riešenie

Tento problém obísť, odstrániť generované designer kód súboru prostriedkov. Chcete urobiť, dvakrát kliknite na hlásenie a potom postupujte podľa nasledujúcich krokov:

Pre Visual C#

  1. Pridajte pomocou smernice:

    using System.Reflection;
  2. Vyhľadajte nasledujúci kód:

    typeof(Resource1).Assembly

    Tento kód nahradiť nasledujúci kód:

    typeof(Resource1).GetTypeInfo().Assembly

Nasledujúci kód je príkladom, ktorý má tento problém:

        /// <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. Pridajte pomocou smernice:

    Imports System.Reflection;
  2. Vyhľadajte nasledujúci kód:

    GetType(Resource1).Assembly

    Tento kód nahradiť nasledujúci kód:

    GetType(Resource1).GetTypeInfo().Assembly

Nasledujúci kód je príkladom, ktorý má tento problém:

        '''<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ém 2

Príznaky

Nemôžete použiť zdrojov vytvoriť prenosné triedy knižnica projekt po inštalácii Visual Studio 2012 aktualizácia 2. Okrem toho sa môže zobraziť niektorý z viacerých rôznych chybových hlásení. Napríklad, zobrazí sa jedno z nasledujúcich chybových hlásení:

Typ "System.Net.HttpStatusCode" je definovaný v neodkazuje zostavy. Musíte pridať odkaz na zhromaždenie "System.Net, verzia = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e Retargetable = Áno.


Nemožno implicitne konvertovať typu "System.Net.HttpStatusCode" na "System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll] "


Poznámka: Tento problém sa vyskytuje, keď jeden z nasledujúcich platforiem spomína v projekte:

  • Windows Phone 8 a .NET Framework 4.5

  • .NET Framework 4.5, .NET aplikácií zo služby Windows Obchod a Windows Phone 8


Príčina

Tento problém sa vyskytuje, pretože Visual Studio 2012 aktualizácia 2 bola nainštalovaná po nainštalovaní systému Windows Phone Software Development Kit (SDK) 8.0. Preto boli odstránené nasledujúce súbory:

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


Alternatívne riešenie

Vyriešiť tento problém, spustite opravu programu Visual Studio 2012. Ak to chcete urobiť, postupujte nasledovne:

  1. Kliknite na tlačidlo Štart, na položku Ovládací Panel, programya kliknite na položku programy a súčasti.

  2. Kliknite pravým tlačidlom myši na verziu Visual Studio 2012, nainštalovaný a kliknite na položku zmeniť.

  3. Pri otvorení aplikácie Visual Studio 2012 Setup wizard, kliknite na tlačidlo opraviť .

Poznámka: Ak ste nastavili nové vývojárske prostredie, zabránite, nainštalujete aplikácie Visual Studio 2012 aktualizácia 2 pred inštaláciou Windows Phone 8.0 SDK.

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pripojiť k Microsoft insiderov chcú

Považujete poskytnuté informácie za užitočné?

Aká je podľa vás kvalita prekladu?
Čo sa vám páčilo a čo nie?

Ďakujem za vaše pripomienky!

×