2012-12-14 18 views
15

Ben bir son kullanıcı makinesinde montaj çözünürlükte sorun yaşıyorum ve bunu Taşınabilir sınıf kitaplıkları kullanarak ilgili inanıyoruz kullanmak meclisleri .... Taşınabilir sınıf kitaplıkları

Bir .NET var çözülemiyor İlk olarak Visual Studio 2010'da yazılmış olan 4.0 uygulaması. Son zamanlarda Visual Studio 2012'ye geçtik ve Portable Class Libraries olan birkaç proje oluşturduk. Şu an bu özelliklere ihtiyacımız olduğuna inanmıyorum, ancak bu kütüphanelerden faydalanabilecek bir Windows 8 Mağazası uygulaması da oluşturuyoruz.

Projemi derlediğimde, taşınabilir kitaplık özelliği tam olarak ne yapıyor? Değişiklik veya yeniden derleme olmadan farklı çerçeveler üzerinde çalışmama izin vermesini bekliyorum. Ben reflektör dotPeek kütüphaneye baktığımızda

o kadar Platformu özelliğini gösterir:

.NETPortable, Sürüm = v4.0, Profil = Profile5

Ve referanslar görünüyor 2.0-ish:

mscorlib, sürüm 2.0.5.0

Sistemi, Sürüm = 2.0.5.0

System.Runtime.Serialization, Sürüm = 2.0.5.0

Bu son kullanıcının makinesinde uygulamayı çalıştırmak, ben günlük dosyasında bir hata görebilirsiniz:

dosya veya derleme yüklenemedi, 'System.Core, Sürüm = 2.0.5.0 ...'

Googling System.Core 2.0.5.0 SilverLight başvurmak gibi görünüyor - hangi görünüyor t biri olmak Çerçeveleri hedef aldı.

Bu makine, Visual Studio yüklü olmadığı

ancak .NET 4.0 (4.0.3 güncellemesi) sahiptir

Ben derlemek için farklı yapıyor gereken bir şey, benim bağımlılıkları yoksa ben bir şey araştırmak gereken bir şey var mı Son kullanıcı makinesine kurmak mı istiyorsunuz? 2.0.5.0 ne anlama geliyor?

+0

2.0.5.0 PCL için hedef sürümdür, çerçeve tarafından yeniden yakalanır. Profile5 = Framework 4.0 ve Mağaza. Uzun çekim: Mağaza uygulamaları .NET 4.5 gerektirir. 4.0 –

cevap

18

.NET 4 için, Taşınabilir Sınıf Kitaplıkları'nın çalışması için bir güncelleştirme (KB2468871) gerekir. KB Article Gönderen:

Özelliği destek taşınabilir kütüphanelere 5

değişiklikler. Bu değişiklikler API güncellemeleri ve bağlayıcı modifikasyonlarını içerir. Bu güncelleştirme, CLR'nin taşınabilir kitaplıklar için 'u başarılı bir şekilde bağlamasını sağlar; böylece tek bir DLL, .NET Framework 4'te, Silverlight'ta, Xbox'ta veya Windows Phone'da çalışabilir. Bu güncelleştirme, ortak Silverlight API'lerini aynı konumda numaralı .NET Framework 4'e ekler. API imzaları, platformda arasında tutarlı kalacaktır. Tüm değişiklikler yüzde 100 uyumludur ve , mevcut herhangi bir kodu bozmaz.

Ayrıca, MSDN Portable Class Library Documentation'un ".NET Framework Uygulamasını Dağıtma" bölümüne bakın.

DÜZENLEME: Aslında, makinenizde anlatıldığı gibi .NET 4.0.3 kuruluysa, bu yeterli olmalıdır. Gerçekte yüklü olduğundan emin olmak için tekrar kontrol edebilir misiniz?

+0

İstemci profiline dikkat edin Çok garip. Http://www.microsoft.com/en-us/download/details.aspx?id=29053 (KB2600211, 03/04/12 tarihinde yayınlanmıştır) indirdim, ancak çalıştırdığımda "engellenmiş" veya zaten yüklü olduğunu söyledi. KB2468871'i (6/08/11 yayınladı) indirdim ve sorunsuz bir şekilde yükleyebildim. Uygulama şimdi çalışıyor. – bryanbcook

+1

Hala bu hatayı "sisteminize uygulanmaz" diyerek güncellemeye devam ediyorum. Bu VS 2012 ile. Sigh. –

+0

Derleyicimin PCL'lerle ilgili bazı hataları olduğunu düşünüyorum: https://connect.microsoft.com/VisualStudio/feedback/details/780023/xaml-designer-throws-nullreferenceexception-object-reference-not-set- bir-için-bir-nesne-bazen-için-mvvm, https://connect.microsoft.com/VisualStudio/feedback/details/779370/vs2012-incorrectly-resolves-mscorlib-version-when-referencing- pcl-assembly –