2008-10-22 14 views
10

Visual Studio 2005/2008, 32 bit GAC yerine 64 bit GAC'deki başvuru gruplarına nasıl başvuruda bulunabilir? Biz x64 için hedef platform yapılar settin ve derleyici Dec 08Visual Studio başvurusu x64 GAC

Error 2 Warning as Error: Assembly generation -- Referenced assembly 'System.Data.dll' targets a different processor Common

Error 3 Warning as Error: Assembly generation -- Referenced assembly 'mscorlib.dll' targets a different processor Common

Error 4 Assembly signing failed; output may not be signed -- The system cannot find the file specified. Common


Güncelleme 29'un hatası atıyor

Aaron Stebner's suggestions denediğiniz izole bir konumda üzerine 64 bit meclisleri yerleştirmek için mu (örn. C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ GAC_64) ve kayıt defterinde HKLM \ SOFTWARE \ Microsoft.NETFramework \ AssemblyFolders \ GAC_64 veya HKLM \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727 gibi ek girişler oluşturma \ AssemblyFoldersEx \ GAC_64 ancak Visual Studio 2005 hala onu seçmiyor ....

cevap

0

Çözümünüzdeki tüm projeler için x64 platformunu Configuration Manager'da ayarladınız mı?

+0

Evet ama önemli değil. Projelerin System.Data.dll ve mscorlib.dll gibi başvurulan BCL derlemeleridir. 32 bitlik GAC'de meclisleri yeniden gözden geçiriyorlar. Bunun yerine 64 bit GAC'ye başvurma seçeneğine sahip olmak güzel olurdu. – icelava

2

Bunu neden yapmanız gerektiğinden emin değilim. Özellikle 32 bit için derlenmeyen .NET kodu, eğer yapabilirse 64 bit çalışır. Bu temel çerçeve kitaplıklarını içerir. Kısacası, montajlarınızı 64 bit için özel olarak derlemem için hiçbir sebep yok (yönetilmeyen 64 bit dll'lere başvurmaktan başka, fakat GAC hakkında konuşuyorsunuz).

Bazı daha fazla bilgi burada yardımcı olabilir.

+0

Evet, uygulamanızı özellikle x64 hedeflemek için derliyoruz. Ve bunun nedeni derleyicinin System.Data veya mscorlib tarafından x86 ..... 'ye gideceği konusunda şikayette bulunuyor. – icelava

+0

Proje özelliklerinde derleme hedefini değiştirdikten sonra etkilenen referansları reddettiniz mi? – sliderhouserules

+0

"% 100 güvenli kod olan bir .NET uygulaması düşünün.Bu senaryoda, 32-bit makinede çalıştırdığınız ve 64-bit sistemde çalıştırdığınız ve başarıyla çalıştırabileceğiniz .NET yürütülebilir dosyanızı almak mümkündür. Bu neden çalışıyor? Montaj% 100 güvenli olduğundan, yerel kod veya COM nesnelerine bağımlılık olmadığını ve uygulamanın 'güvenli olmayan' bir kod olmadığını biliyoruz, bu da uygulamanın tamamen CLR'nin kontrolünde çalıştığı anlamına geliyor. " - MSDN –

0

Tamamen ücretsiz olan ve hedefinize ulaşmanıza yardımcı olacak bir araç oluşturdum. Muse VSReferences, GAC Referansı Ekle menü öğesinden projeye Genel Montaj Önbelleği başvurusu eklemenize izin verecektir.