2009-09-07 13 views
5

क्या यह मूल रूप से एडॉन्स या तृतीय पक्ष टूल के बिना ऐसा करना संभव है?एमएसबिल्ड का उपयोग कर जीएसी में असेंबली कैसे स्थापित करें?

मुझे पता है कि गैसीयुट है, लेकिन चलाने के लिए कोई exe नहीं है, अन्यथा मैं इसे Exec कार्य से बुला सकता था।

क्या किसी ने कुछ समान किया है?

+1

मुझे समझ में नहीं आता कि "क्या चलाने के लिए कोई exe नहीं है"। gacutil निश्चित रूप से एक exe है जो आप चला सकते हैं ... –

+0

हाँ, gacutil एक exe –

+0

मुझे लगता है कि तुम सही हो! मैं गुमराह था। –

उत्तर

0

gacuti.exe एक से अधिक स्थानों में हो सकता है। यह सिस्टम% पथ% चर पर नहीं है, इसलिए आपको पूर्ण पथ का उपयोग करना होगा (यह अन्यथा नहीं चलाया जाएगा)।
मैं C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\ का उपयोग करें:

"C: \ Program Files \ Microsoft Visual Studio 8 \ एसडीके \ v2.0 \ बिन \ Gacutil.exe" मैं MyAssembly.dll

यह बताया गया अन्य स्थानों पर पाया जा सकता है और साथ ही:

C: \ WINDOWS \ Microsoft.NET \ फ्रेमवर्क \ v1.1.4322 \ Gacutil.exe
सी: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ बिन \ gacutil.exe
सी: dir gacutil.exe /s /a: \ Program Files \ Microsoft Visual Studio 9.0 \ कुलपति \

यह विंडोज़ खोज, या कमांड लाइन का उपयोग कर रहा लगाने के लिए एक आसान तरीका है Gacutil.exe।

दुर्भाग्य से, मेरे पास कुछ सर्वर हैं जहां gacutil नहीं मिला था, और मुझे मैन्युअल रूप से डीएलएस स्थापित करना पड़ा।

+3

आधिकारिक तौर पर, gacutil एक एसडीके उपकरण है, इसलिए "CurrentInstallFolder" मान के तहत रजिस्ट्री कुंजी "HKLM \ सॉफ़्टवेयर \ Microsoft \ Microsoft SDK \ Windows" में सबसे अधिक "सही" स्थान मिलेगा। – bobbymcr

+0

यह अच्छा है पता है। धन्यवाद। – Kobi

1

Gacutil.exe .NET असेंबली के "देव बॉक्स" स्थापनाओं के लिए मानक समर्थित उपकरण है। यदि आप बिल्ड कार्य के हिस्से के रूप में अपनी असेंबली जीएसी करना चाहते हैं तो मैं केवल एक्ज़ेक कार्य का उपयोग करने की अनुशंसा करता हूं।

यदि आप वास्तव में कोई नई प्रक्रिया के बिना ऐसा करना चाहते हैं, तो आपको gacutil.exe करता है करने के लिए आवश्यक COM इंटरऑप कॉल को लागू करने के लिए एक कस्टम MSbuild कार्य लिखना होगा। Junfeng Zhang's blog post यदि आप इस मार्ग पर जाना चाहते हैं तो एक अच्छा प्रारंभिक बिंदु होगा।

6

आपको एमएसबिल्ड सामुदायिक कार्य (मुक्त) से "GacUtil" कार्य का उपयोग करना चाहिए। मुझे लगता है कि निष्पादन योग्य कॉल करने से यह क्लीनर है।

+0

+1 आंतरिक रूप से यह टूल की तलाश करने के बजाए जीएसी एपीआई भी कॉल करता है बीटीडब्ल्यू –

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