Visual Studio 2012 uppdatering 2 Portable klassbiblioteket problem

Introduktion

Bärbar klassbibliotek problem kan uppstå när du installerar Microsoft Visual Studio 2012 uppdatering 2. Den här artikeln beskrivs de problem och deras lösningar.

Problem 1

Symptom

När du använder resurser för att bygga en bärbar klassbiblioteket projekt när du har installerat Visual Studio 2012 uppdatering 2, kan det hända att följande felmeddelande visas:

'System.Type' inte innehåller en definition för 'Paketet' och ingen metod med tillägget 'Paketet' acceptera ett första argument av typen 'System.Type' hittades (saknar du en med direktiv eller en sammansättningsreferens?)

Obs!  Du kan få detta felmeddelande när du använder Microsoft Visual C#.

'Paket' är inte en medlem av 'System.Type'

Obs!  Du kan få detta felmeddelande när du använder Microsoft Visual Basic.

Det här problemet uppstår när något av följande plattformar är riktad i projektet:

  • Microsoft.NET Framework 4.5 och .NET för Windows Store apps

  • .NET Framework 4.5 och Windows Phone 8

  • .NET Framework 4.5, .NET för Windows Store-appar och Windows Phone 8


Temporär lösning

Åtgärda designer genererade koden i resursfilen om du vill undvika det här problemet. Genom att dubbelklicka på felmeddelandet och gör sedan följande:

För Visual C#

  1. Lägg till följande med hjälp av direktivet:

    using System.Reflection;
  2. Sök efter följande kod:

    typeof(Resource1).Assembly

    Ersätt Koden med följande kod:

    typeof(Resource1).GetTypeInfo().Assembly

Följande kod är ett exempel som har det här problemet:

        /// <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. Lägg till följande med hjälp av direktivet:

    Imports System.Reflection;
  2. Sök efter följande kod:

    GetType(Resource1).Assembly

    Ersätt Koden med följande kod:

    GetType(Resource1).GetTypeInfo().Assembly

Följande kod är ett exempel som har det här problemet:

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


Problem 2

Symptom

Du kan inte använda resurser för att bygga en bärbar klassbiblioteket projekt när du har installerat Visual Studio 2012 uppdatering 2. Dessutom får du ett av många olika felmeddelanden. Till exempel kan du få något av följande felmeddelanden:

Typen 'System.Net.HttpStatusCode' definieras i en sammansättning som inte refereras. Du måste lägga till en referens till sammansättningen ' System.Net, Version = 2.0.5.0 kultur = neutral, PublicKeyToken = 7cec85d7bea7798e Retargetable = Ja.


Det går inte att implicit konvertera typen 'System.Net.HttpStatusCode' till ' System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll]'


Observera att det här problemet uppstår när något av följande plattformar är riktad i projektet:

  • .NET Framework 4.5 och Windows Phone 8

  • .NET Framework 4.5, .NET för Windows Store-appar och Windows Phone 8


Orsak

Det här problemet uppstår eftersom Visual Studio 2012 uppdatering 2 installerades efter installationen av Windows Phone Software Development Kit (SDK) 8.0. Därför följande filer har tagits bort:

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


Temporär lösning

Lös problemet genom att köra reparationsprogram för Visual Studio 2012. Gör så här:

  1. Klicka på Start, Kontrollpanelen, programoch klicka sedan på program och funktioner.

  2. Högerklicka på versionen av Visual Studio 2012 som du har installerat och klicka sedan på Ändra.

  3. Klicka på Reparera när Visual Studio 2012 guiden öppnas.

Obs! Om du ställer in en ny miljö för utvecklare för att undvika det här problemet bör du installera Visual Studio 2012 uppdatering 2 innan du installerar Windows Phone 8.0 SDK.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×