6

Bunları platformları hedefleyen (adları kaldırıldı), bir PCL olan Visual Studio 2012'de bir C# projesi var:DLL neden bir PCL projesinden x86 derlemesidir?

enter image description here

Ben üzere, başarılı bir yapı gelen dll eklemeyi deneyin "MSIL" inşa ediliyor projenin işlemci mimarisi ve işlemci mimarisi arasında bir uyumsuzluk vardı

uyarı 1: VS2013 Silverlight 5 proje, bu uyarıyı alıyorum ve aslında eklenecek görünmüyor referans "[İsim]", "x86". Bu uyumsuzluk çalışma zamanı hatalarına neden olabilir. Projenizin mimarisini projeniz ve referanslarınız arasında hizalamak ya da projenizin hedeflenen işlemci mimarisine uygun bir işlemci mimarisine referans olarak bakmak için Configuration Manager aracılığıyla projenizin hedeflenen işlemci mimarisini değiştirmeyi düşünün.

enter image description here

Neden PCL x86 gibi gösteriliyor ki?

+4

Sizin uyarınız çok küçük, lütfen kopyalayın soru mesaj kutusuna –

+2

eddie_cat kopyalayın/yapıştırın, ayrıca ekleyebilirim, Resmi sağ tıklayın ve Resmi Görüntüle (Firefox'ta en az). – Jake

+1

Yapılandırma ve Platformunuzun N/A olması normal değil bence. AnyCPU ayarıyla yeni bir Yapılandırma oluşturmayı deneyin. –

cevap

0

Birden çok hedef için bir PCL projeniz olduğunda ve diğer projelerde çıktı .dll'yi belirtmek istediğinizde, doğru derleme ile doğru .dll dosyasını seçtiğinizden emin olun. Örneğin

:

  • Eğer WP 8 ve SL için PCL olan İş projeyi 5.
  • Yukarıdaki iş projesi
    • SL proj gelen dll başvurmak 2 proje var var
    • WP 8 proj

WindowsPhone projesinde Referans eklemek için gittiğinizde, ARM için derlenmiş olanı seçmelisiniz [emülatörün ARM olmadığından, x86 sürümünü seçmeniz gerektiğini emülatörde çalıştırmak istediğinizi unutmayın]. X86 sürümünü eklerseniz ve yapılandırma yöneticisinde bunu ARM olarak ayarlarsanız, Visual Studio, sahip olduğunuzla aynı hatayı uyarır, çünkü bir ARM kodu çalıştırır ve başvurulan bir x86 koduna sahip olursunuz.

Eklediğiniz .dll'nin yapılandırma yöneticisi ile eşleşip eşleşmediğini kontrol edin. Yapmak istediğiniz doğru mimari için değiştirin "Çoklu platformlar" vs "Herhangi bir CPU"