Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Úvod

Přenosné knihovny tříd problémy mohou nastat po instalaci aplikace Microsoft Visual Studio 2012 aktualizace 2. Tento článek popisuje tyto problémy a jejich řešení.

Problém 1

Příznaky

Při použití zdroje pro vytvoření projektu knihovny přenosných tříd po instalaci sady Visual Studio 2012 Update 2, můžete obdržet následující chybové zprávy:

"System.Type" neobsahuje definici pro "Sestavení" a žádná rozšiřující metoda "Sestavení" přijímající první argument typu "System.Type" nebyl nalezen (chybějící using direktiva nebo odkaz na sestavení?)

Poznámka: Tato chyba se může zobrazit, pokud používáte Microsoft Visual C#.

"Sestavení" není členem "System.Type"

Poznámka: Tato chyba se může zobrazit, pokud používáte Microsoft Visual Basic.

K tomuto problému dochází, pokud jeden z následujících platformách cílový projekt:

  • Rozhraní Microsoft .NET Framework 4.5 a .NET pro aplikace pro Windows Store

  • Rozhraní .NET Framework 4.5 a Windows Phone 8

  • Rozhraní .NET Framework 4.5, .NET pro aplikace pro Windows Store a Windows Phone 8


Jak potíže obejít

Chcete-li tento problém vyřešit, opravte návrhářem generovaný kód souboru prostředků. To provedete poklepáním na chybovou zprávu a potom postupujte takto:

Pro jazyk Visual C#

  1. Přidejte následující pomocí direktivy:

    using System.Reflection;
  2. Vyhledejte následující kód:

    typeof(Resource1).Assembly

    Tento kód nahraďte následující kód:

    typeof(Resource1).GetTypeInfo().Assembly

Následující kód je příklad, který 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. Přidejte následující pomocí direktivy:

    Imports System.Reflection;
  2. Vyhledejte následující kód:

    GetType(Resource1).Assembly

    Tento kód nahraďte následující kód:

    GetType(Resource1).GetTypeInfo().Assembly

Následující kód je příklad, který 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

Příznaky

Zdroje nelze použít pro vytvoření projektu knihovny přenosných tříd po instalaci sady Visual Studio 2012 aktualizace 2. Navíc můžete obdržet jednu z mnoha různých chybových zpráv. Například můžete obdržet jednu z následujících chybových zpráv:

Typ "System.Net.HttpStatusCode" je definován v sestavení, které není odkazováno. Je nutné přidat odkaz na sestavení "System.Net, verze = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e Retargetable = Yes'.


Nelze implicitně provést převod typu "System.Net.HttpStatusCode" na "System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll] "


Poznámka: k tomuto problému dochází, pokud jeden z následujících platformách cílový projekt:

  • Rozhraní .NET Framework 4.5 a Windows Phone 8

  • Rozhraní .NET Framework 4.5, .NET pro aplikace pro Windows Store a Windows Phone 8


Příčina

K tomuto problému dochází, protože Visual Studio 2012 aktualizace 2 byl nainstalován po instalaci Windows Phone Software Development Kit (SDK) 8.0. Proto byly odstraněny následující soubory:

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


Jak potíže obejít

Chcete-li tento problém vyřešit, spusťte program Visual Studio 2012 opravy. Chcete-li to provést, postupujte takto:

  1. Klepněte na tlačítko Start, na příkaz Ovládací panely, klepněte na příkaz programya potom klepněte na tlačítko programy a funkce.

  2. Klepněte pravým tlačítkem myši na verzi Visual Studio 2012, který jste nainstalovali a potom klepněte na tlačítko změnit.

  3. Otevře se Průvodce 2012 instalace aplikace Visual Studio a klepněte na tlačítko opravit .

Poznámka: Pokud nastavíte nové prostředí developer, aby se zabránilo tomuto problému, nainstalujte Visual Studio 2012 aktualizace 2 před instalací sady SDK Windows Phone 8.0.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

Děkujeme vám za zpětnou vazbu.

×