विंडोज 7 में .net फ्रेमवर्क 4.0 के लिए GACUTIL कहां है?


79

मैंने .net फ्रेमवर्क में एक असेंबली बनाई है जिसे मैं GAC पर प्रकाशित करने का इरादा रखता हूं, लेकिन मैं gacutilसंपूर्णता नहीं पा सकता हूं ।

मुझे थोड़ी देर हो गई है और मुझे बहुत सारे सुझाव मिले हैं, लेकिन कुछ भी काम नहीं करता है:

  • % विंडो% \ assemby के लिए assemby की प्रतिलिपि बनाएँ [DOES NOT WORK]
  • % विंडो% \ Microsoft.NET \ असेंबली में अस्मिता की प्रतिलिपि बनाएँ [DOES NOT WORK]
  • C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ gacutil.exe / i "असेंबली" [returns an error: this assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded]

क्या किसी को इसे हल करने का विचार है?

जवाबों:


73

यदि आप VS2010स्थापित हो गए हैं, तो आपको .NET 4.0 gacutil ढूंढना चाहिए

C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 उपकरण

7.0A Windows SDKस्थापित करना चाहिए किया गया है के साथ VS2010 - 6.0Aके साथ स्थापित किया गया होगा VS2008, और इसलिए .NET 4.0 का समर्थन नहीं करेंगे।


15
यदि आप 64-बिट सिस्टम का उपयोग कर रहे हैं, तो यह C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 उपकरण
डैनियल कै

हम्म, तो ऐसा लगता है। विंडोज एसडीके 7.1 64 बिट के रूप में उपलब्ध है, लेकिन ऐसा प्रतीत होता है कि 7.0 केवल 32 बिट था। अजीब, मैंने सोचा कि मैंने अपनी टिप्पणी में सीधे विंडोज एक्सप्लोरर से फ़ाइल पथ की प्रतिलिपि बनाई।
ऐडे स्ट्रिंगर

36

VS 2012/13 विन 7 64 बिट gacutil.exe में स्थित है

C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 उपकरण

यह दृश्य स्टूडियो 2013 के लिए भी सही लगता है
एरक

23

.Net 4.0 मानक स्थापना में शामिल कोई Gacutil नहीं है। उन्होंने GAC को भी% Windir% \ असेंबली से% Windir% \ Microsoft.NET \ असेंबली में स्थानांतरित कर दिया है।

उन्होंने विंडोज एक्सप्लोरर में फ़ोल्डर के लिए "विशेष दृश्य" जोड़ने से भी परेशान कर दिया, क्योंकि उनके पास .net 1.0 / 2.0 आरएसी है।

गैकुटिल विंडोज एसडीके का हिस्सा है, इसलिए यदि आप इसे अपने डेवलपमेंट मशीन पर उपयोग करना चाहते हैं, तो बस अपने वर्तमान प्लेटफॉर्म के लिए विंडोज एसडीके स्थापित करें। तब आप इसे कहीं इस तरह पाएंगे (आपके एसडीके संस्करण के आधार पर):

C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 उपकरण

यहाँ नए GAC पर चर्चा चल रही है: .NET 4.0 में एक नया GAC है, क्यों?

यदि आप उत्पादन मशीन में GAC में कुछ स्थापित करना चाहते हैं, तो आपको इसे "उचित" तरीके से करने की आवश्यकता है (gacutil का मतलब उत्पादन सर्वर पर सामान स्थापित करने के लिए केवल एक विकास उपकरण के रूप में नहीं था), विंडोज इंस्टालर के साथ, या अन्य उपकरणों के साथ। आप इसे PowerShell और System.EnterpriseServices dll के साथ कर सकते हैं।

एक सामान्य नोट पर, और कई वर्षों के अनुभव से, मैं व्यक्तिगत रूप से जीएसी का उपयोग करने के खिलाफ दृढ़ता से अनुशंसा करूंगा । यदि आप DLL के प्रत्येक अनुप्रयोग के साथ उसके बिन फ़ोल्डर में भी तैनात हैं तो आपका आवेदन हमेशा काम करेगा। हां, यदि आपके पास एक सर्वर पर कई वेब एप्लिकेशन हैं, तो आपको अपने सर्वर पर DLL की कई प्रतियां मिलेंगी, लेकिन यह निश्चित रूप से एक एप्लिकेशन को दूसरों को तोड़ने के बिना एक एप्लिकेशन को अपग्रेड करने में सक्षम होने के लचीलेपन के लायक है (साझा का असंगत संस्करण पेश करके GAC में DLL)।


5

वास्तव में अब .NET 4.0 के लिए एक GAC उपयोगिता है। यह माइक्रोसॉफ्ट विंडोज 7 और .NET 4.0 एसडीके में पाया जाता है (एसडीके कई ओएस का समर्थन करता है - न केवल विंडोज 7 - इसलिए यदि आप माइक्रोसॉफ्ट से बाद के ओएस का उपयोग कर रहे हैं, तो यह अच्छा है कि यह समर्थित है)।

यह है एसडीके । आप आईएसओ डाउनलोड कर सकते हैं या वेब इंस्टॉल कर सकते हैं। अगर आप चाहते हैं कि जीएसी यूटिलिटी पूरी तरह से डाउनलोड करने के लिए तरह-तरह की ओवरकिल है; हालाँकि, यह काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.