Uygulandığı Öğe
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

Giriş

Microsoft Visual Studio 2012 güncelleştirme 2yüklendikten sonra taşınabilir sınıf kitaplıkları sorunlar ortaya çıkabilir. Bu makalede, bu sorunları ve bunların geçici çözümler açıklanır.

Sorun 1

Belirtiler

Kaynaklar Visual Studio 2012 güncelleştirme 2yüklendikten sonra taşınabilir sınıf kitaplığı proje oluşturmak için kullandığınızda, aşağıdaki hata iletilerini alabilirsiniz:

'System.Type' için 'Assembly' tanımı içermiyor ve bir ilk bağımsız değişken türü 'System.Type' kabul etme'Assembly ' uzantısı yöntem bulunamadı (bir kullanarak eksik yönergeniz veya derleme başvurunuz?)

Not: Microsoft Visual C# kullandığınızda, bu hatayı alırsınız.

'Assembly', 'System.Type' üyesi değil.

Not: Microsoft Visual Basic kullandığınızda bu hata alırsınız.Bu sorun, aşağıdaki platformlarda birini projenizde hedeflenen oluşur:

  • Microsoft.NET Framework 4.5 ve .NET Windows mağazası uygulamaları için

  • .NET Framework 4.5 ve Windows Phone 8

  • .NET Framework 4.5 Windows mağazası uygulamaları .NET ve Windows Phone 8

Geçici çözüm

Bu soruna geçici bir çözüm için kaynak dosyanın tasarımcı tarafından oluşturulan kod düzeltin. Bunu yapmak için hata iletisini çift tıklatın ve sonra aşağıdaki adımları izleyin:

Visual C# için

  1. Aşağıdaki ekleme yönergesi kullanarak:

    using System.Reflection;
  2. Aşağıdaki kodu bulun:

    typeof(Resource1).Assembly

    Bu kodu aşağıdaki kodla değiştirin:

    typeof(Resource1).GetTypeInfo().Assembly

Aşağıdaki kod, bu sorunu var bir örnek verilmiştir:

        /// <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. Aşağıdaki ekleme yönergesi kullanarak:

    Imports System.Reflection;
  2. Aşağıdaki kodu bulun:

    GetType(Resource1).Assembly

    Bu kodu aşağıdaki kodla değiştirin:

    GetType(Resource1).GetTypeInfo().Assembly

Aşağıdaki kod, bu sorunu var bir örnek verilmiştir:

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

Sorun 2

Belirtiler

Kaynaklar, Visual Studio 2012 güncelleştirme 2yüklendikten sonra taşınabilir sınıf kitaplığı proje oluşturmak için kullanamazsınız. Ayrıca, birçok farklı hata iletilerinden birini alabilirsiniz. Örneğin, aşağıdaki hata iletilerinden birini alabilirsiniz:

'System.Net.HttpStatusCode' türü başvurulmayan bir derlemede tanımlanmış. Derlemesine bir başvuru eklemeniz gerekir ' System.Net, sürüm 2.0.5.0, Culture = bağımsız, PublicKeyToken = 7cec85d7bea7798e, Retargetable = = Yes'.

'System.Net.HttpStatusCode' türü için örtülü olarak dönüştürülemez ' System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. [NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll]'

Not projenizde aşağıdaki platformları birini hedeflenen Bu sorun oluşur:

  • .NET Framework 4.5 ve Windows Phone 8

  • .NET Framework 4.5 Windows mağazası uygulamaları .NET ve Windows Phone 8

Neden

Windows Phone Software Development Kit (SDK) 8.0 yüklendikten sonra Visual Studio 2012 Update 2 yüklenmiş olduğundan, bu sorun oluşur. Bu nedenle, aşağıdaki dosyaları silindi:

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

Geçici çözüm

Bu sorunu gidermek için Visual Studio 2012 onarım programı çalıştırın. Bunu yapmak için şu adımları izleyin:

  1. Başlat' ı tıklatın, Denetim Masası' nı tıklatın, Programlar' ı tıklatın ve sonra da Programlar ve Özellikler'itıklatın.

  2. Yüklediğiniz Visual Studio 2012 sürümü sağ tıklatın ve sonra Değiştir' i tıklatın.

  3. Visual Studio 2012 Kurulum Sihirbazı açıldığında, Onar ' ı tıklatın.

Not: Yeni bir geliştirme ortamında yeniden ayarlarsanız, Windows Phone 8.0 SDK'yı yüklemeden önce bu sorunu önlemek için Visual Studio 2012 Update 2 yüklemelisiniz.

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.