2008-10-22 9 views
10

32-बिट जीएसी के बजाय 64-बिट जीएसी में असेंबली के संदर्भ में विज़ुअल स्टूडियो 2005/2008 कैसे प्राप्त किया जा सकता है? हम 64 के लिए लक्ष्य platfom settin कर रहे हैं और संकलकविजुअल स्टूडियो संदर्भ x64 जीएसी

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


अद्यतन 29 की त्रुटि फेंक रहा है दिसंबर 08

Aaron Stebner's suggestions बाहर की कोशिश कर रहा एक अलग स्थान पर 64-बिट विधानसभाओं किसी स्थान पर (उदाहरण के लिए सी: \ विंडोज \ माइक्रोसॉफ्ट.NET \ Framework64 \ v2.0.50727 \ GAC_64) और रजिस्ट्री में HKLM \ सॉफ़्टवेयर \ Microsoft.NETFramework \ AssemblyFolders \ GAC_64 या HKLM \ सॉफ़्टवेयर \ Microsoft.NETFramework \ v2.0.50727 जैसे रजिस्ट्री में अतिरिक्त प्रविष्टियां बनाना \ Assembly फ़ोल्डर्सएक्स \ GAC_64 लेकिन विजुअल स्टूडियो 2005 अभी भी इसे उठा नहीं रहा है ....

उत्तर

0

क्या आपने कॉन्फ़िगरेशन प्रबंधक में अपने समाधान में सभी परियोजनाओं के लिए x64 प्लेटफ़ॉर्म सेट किया है?

+0

हां लेकिन इससे कोई फर्क नहीं पड़ता। यह बीसीएल असेंबली है कि परियोजनाएं System.Data.dll और mscorlib.dll जैसे संदर्भित हैं। वे 32-बिट जीएसी में असेंबली को रेफरेंस कर रहे हैं। इसके बजाय 64-बिट जीएसी को संदर्भित करने का विकल्प होना अच्छा लगेगा। – icelava

2

मुझे यकीन नहीं है कि आपको ऐसा करने की आवश्यकता क्यों होगी। .NET कोड जिसे विशेष रूप से 32 बिट के लिए संकलित नहीं किया गया है, 64 बिट चलाएगा यदि यह कर सकता है। इसमें आधार ढांचे पुस्तकालय शामिल हैं। संक्षेप में, कोई कारण नहीं है कि मैं विशेष रूप से 64 बिट के लिए अपनी असेंबली संकलित करने के बारे में जानता हूं (अप्रबंधित 64 बिट डीएलएस के संदर्भ में, लेकिन आप जीएसी के बारे में बात कर रहे हैं)।

कुछ और जानकारी यहां मदद कर सकती है।

+0

हां हम विशेष रूप से x64 को लक्षित करने के लिए हमारे आवेदन को संकलित कर रहे हैं। और इसके कारण संकलक शिकायत करता है System.Data या mscorlib x86 ..... – icelava

+0

को लक्षित कर रहा है क्या आपने परियोजना गुणों में संकलन लक्ष्य को बदलने के बाद पीड़ित संदर्भों को फिर से बनाया है? – sliderhouserules

+0

"एक .NET अनुप्रयोग पर विचार करें जो 100% प्रकार का सुरक्षित कोड है। इस परिदृश्य में आपके .NET निष्पादन योग्य को लेना संभव है जिसे आप अपनी 32-बिट मशीन पर चलाते हैं और इसे 64-बिट सिस्टम पर ले जाते हैं और इसे सफलतापूर्वक चलाते हैं यह क्यों काम करता है? चूंकि असेंबली 100% प्रकार सुरक्षित है, इसलिए हम जानते हैं कि देशी कोड या COM ऑब्जेक्ट्स पर कोई निर्भरता नहीं है और कोई 'असुरक्षित' कोड नहीं है जिसका अर्थ है कि एप्लिकेशन पूरी तरह से सीएलआर के नियंत्रण में चलता है। " - एमएसडीएन –

0

मैंने एक उपकरण बनाया है जो पूरी तरह से नि: शुल्क है, जो आपको अपना लक्ष्य प्राप्त करने में मदद करेगा। Muse VSReferences आपको GAC संदर्भ मेनू आइटम से परियोजना के लिए वैश्विक असेंबली कैश संदर्भ जोड़ने की अनुमति देगा।

संबंधित मुद्दे