2009-06-12 18 views
11

"Any CPU" derlenmiş bir .NET uygulamam varsa, 64 bit işletim sisteminde 64 bit modunda çalışır.Bir "Herhangi bir CPU" derlenmiş uygulama 64bit işletim sistemi üzerinde 32bit modunda çalıştırmak için zorlamak için bir yolu var mı?

Ancak, her ne sebeple olursa olsun, bu uygulamayı 32 bit modunda çalışmaya zorlamak istiyorsam. ("X86" kullanılarak derlenmiş gibi). Yeniden derleme bir seçenek değil, bu nedenle çalışma zamanında yapılandırmak mümkün mü? .manifest dosyası ile belki?

cevap

10

Sana CorFlags.exe

şey gibi ile yapabilirsiniz inanıyoruz: montaj adında kuvvetli ise de/kuvvet seçeneği kullanmak zorunda kalacağını +

Not
CorFlags yourassembly.exe/32BİT hangi güçlü isimlendirmeyi kırar, böylece montajdan istifa etmelisiniz.

+0

Bu maalesef mümkün değil. Söz konusu uygulama güçlü ve son kullanıcılara (tüketiciler) dağıtılır ve yeniden imzalama da gerçekten bir seçenek değildir. Çok kötü. –

+1

Belirtilen bir derleme için CLR'yi güçlü ad doğrulamasını atlayacak şekilde ayarlayabilirsiniz. "Sn.exe -Vr assemblyname" (Yeniden etkinleştirmek için -Vu) kullanma. Açıkçası bu, müşteriler makinesinde çalıştırılmak zorundaydı. Güçlü ad doğrulama özelliğini devre dışı bırakmanın temel olarak CLR'deki bir güvenlik deliğini yumuşatması nedeniyle uygulamanızı gerçekten tavsiye etmem, uygulamanızın üzerine herhangi bir derleme kopyalanabilmesi ve tam güvenin otomatik olarak alınabilmesidir (Bkz: http://msdn.microsoft.com/en -tr/kütüphane/k5b5tt23.aspx). Benim tavsiyem bununla uğraşma, yeniden derleme yapmanın bir yolunu bul, ya da yapma. –

+0

@Simon P.Stevens, Her konuda size katılıyorum. Umudum, dağıtım dosyasında dağıtabileceğim bir giriş olabilirdi. Ama durum böyle değil. –

İlgili konular