Van toepassing op
Visual Studio Ultimate 2012 Visual Studio Premium 2012 Visual Studio Express 2012 for Windows 8 Visual Studio Express 2012 for Windows Desktop Visual Studio Express 2012 for Windows Phone

Inleiding

Draagbare Class Libraries problemen kunnen optreden na installatie van Microsoft Visual Studio 2012 2. In dit artikel wordt beschreven, deze problemen en hun oplossingen.

Probleem 1

Symptomen

Wanneer u een draagbare Class Library-project maken na de installatie van Visual Studio 2012 Update 2bronnen, wordt de volgende foutberichten weergegeven:

'System.Type' bevat geen definitie van een 'Assemblage' en geen extensie methode accepteert een eerste argument van het type 'System.Type' Assembly is gevonden (ontbreekt er een met richtlijn of van een assembly-verwijzing?)

Opmerking  U ontvangt dit foutbericht wanneer u Microsoft Visual C#.

'Assembly' is geen lid van 'System.Type'

Opmerking  U ontvangt dit foutbericht wanneer u Microsoft Visual Basic gebruiken.Dit probleem treedt op wanneer een van de volgende platforms is gericht in uw project:

  • Microsoft .NET Framework 4.5 en de .NET voor Windows Store apps

  • De .NET Framework 4.5 en Windows Phone 8

  • Het .NET Framework 4.5, voor de Windows Store apps .NET en Windows Phone 8

Tijdelijke oplossing

U kunt dit probleem omzeilen, de ontwerper gegenereerde code van het bronbestand te corrigeren. Dubbelklik op het foutbericht hiervoor, en vervolgens als volgt te werk:

Voor Visual C#

  1. Voeg de volgende instructie:

    using System.Reflection;
  2. Zoek de volgende code:

    typeof(Resource1).Assembly

    Die code vervangen door de volgende code:

    typeof(Resource1).GetTypeInfo().Assembly

De volgende code is een voorbeeld van dit probleem:

        /// <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. Voeg de volgende instructie:

    Imports System.Reflection;
  2. Zoek de volgende code:

    GetType(Resource1).Assembly

    Die code vervangen door de volgende code:

    GetType(Resource1).GetTypeInfo().Assembly

De volgende code is een voorbeeld van dit probleem:

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

Probleem 2

Symptomen

U resources niet gebruiken op een draagbare Class Library-project maken na de installatie van Visual Studio 2012 Update 2. Bovendien wordt een van de verschillende foutberichten worden weergegeven. Mogelijk wordt een van de volgende foutberichten weergegeven:

Het type 'System.Net.HttpStatusCode' is gedefinieerd in een assembly waarnaar niet wordt verwezen. Moet u een verwijzing naar een assembly toevoegen ' System.Net, versie = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'.

Type 'System.Net.HttpStatusCode' niet impliciet converteren naar ' System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll] "

Opmerking dat dit probleem doet zich voor wanneer een van de volgende platforms is gericht in uw project:

  • De .NET Framework 4.5 en Windows Phone 8

  • Het .NET Framework 4.5, voor de Windows Store apps .NET en Windows Phone 8

Oorzaak

Dit probleem treedt op omdat Visual Studio 2012 Update 2 is geïnstalleerd na de Windows Phone Software Development Kit (SDK) 8.0 is geïnstalleerd. Daarom worden de volgende bestanden zijn verwijderd:

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

Tijdelijke oplossing

Dit probleem oplossen door het programma Visual Studio 2012 reparatie worden uitgevoerd. Ga hiervoor als volgt te werk:

  1. Klik op Start, klik op Configuratiescherm, klik op Programma's en klik vervolgens op Programma's en onderdelen.

  2. Klik met de rechtermuisknop op de versie van Visual Studio 2012 die u hebt geïnstalleerd en klik vervolgens op wijzigen.

  3. Wanneer de wizard Setup van Visual Studio 2012 wordt geopend, klikt u op herstellen .

Opmerking Als u een nieuwe omgeving voor ontwikkelaars om te voorkomen dat dit probleem, moet u Visual Studio 2012 Update 2 voordat u de SDK van Windows Phone 8.0 installeert.

Status

Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.