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
-
Aşağıdaki ekleme yönergesi kullanarak:
using System.Reflection;
-
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
-
Aşağıdaki ekleme yönergesi kullanarak:
Imports System.Reflection;
-
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:
-
Başlat' ı tıklatın, Denetim Masası' nı tıklatın, Programlar' ı tıklatın ve sonra da Programlar ve Özellikler'itıklatın.
-
Yüklediğiniz Visual Studio 2012 sürümü sağ tıklatın ve sonra Değiştir' i tıklatın.
-
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.