2011-08-03 10 views
75

मैंने .NET फ्रेमवर्क में एक असेंबली बनाई है जिसे मैं जीएसी को प्रकाशित करना चाहता हूं लेकिन मुझे gacutil उपयोगिता नहीं मिल रही है।विंडोज 7 में .NET Framework 4.0 के लिए GACUTIL कहां है?

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

  • कॉपी% खिड़की% \ assemby [DOES NOT WORK]
  • कॉपी% खिड़की के assemby को assemby % \ Microsoft.NET \ विधानसभा [DOES NOT WORK]
  • सी: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ बिन \ Gacutil.exe/मैं "विधानसभा" [returns an error: this assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded]

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

उत्तर

22

.NET 4.0 मानक स्थापना में कोई गैकुटिल शामिल नहीं है। उन्होंने जीएसी को भी% Windir% \ assembly से% Windir% \ Microsoft.NET \ Assembly तक ले जाया है।

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

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

 
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools 

नई GAC पर एक चर्चा यहां नहीं है: .NET 4.0 has a new GAC, why?

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

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

72

आप VS2010 स्थापित मिल गया है, तो आप

 
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools 

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

+15

में स्थित है आप 64-बिट प्रणाली का उपयोग कर रहे हैं, तो यह सी होने जा रहा है \ विंडोज \ v7.0A \ बिन \ NETFX 4.0 उपकरण –

+0

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

5

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

यह SDK है। आप आईएसओ डाउनलोड कर सकते हैं या वेब इंस्टॉल कर सकते हैं। पूरी चीज को डाउनलोड करने के लिए ओवरकिल की तरह अगर आप चाहते हैं कि जीएसी यूटिल है; हालांकि, यह काम करता है।\ Program Files (x86) \ माइक्रोसॉफ्ट SDKs:

35

वी.एस. 2012/13 7 विन 64 बिट Gacutil.exe

 
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools 
+0

यह विजुअल स्टूडियो 2013 के लिए भी सच है – Erk

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