2009-07-09 5 views
5
my previous (answered) question की पूंछ पर बाद

...क्या कोई आसान विंडोज सी ++ सबवर्जन एपीआई है या example_vcproj के लिए example_vientpro है?

SharpSvn सबवर्सन ग्राहक एपीआई सरल बुला बनाता है: के रूप में minimal_client.c में दिखाया गया

SvnClient client = new SvnClient(); 
client.Authentication.DefaultCredentials = new NetworkCredential(username, password); 
client.CheckOut(new Uri("http://xxx.yyy.zzz.aaa/svn/repository"), workingCopyDir); 

दूसरी ओर, सी/C++ से ग्राहक एपीआई बुला, की आवश्यकता है सबवर्सन पर "धातु के करीब" कोडिंग, जैसा कि था।

क्या विजुअल स्टूडियो 2003 में सी ++ के लिए विंडोज लाइब्रेरी हैं जो न्यूनतम_क्लिएंट के उपयोग से सरल इंटरफ़ेस प्रस्तुत करते हैं?

अगर वहाँ नहीं कर रहे हैं, एक VS2003 सी ++ परियोजना (एक .vcproj फ़ाइल) minimal_client चलाने के लिए हो रही है यह दर्शाता है कि नहीं है?

libsvn_client-1.lib libsvn_delta-1.lib libsvn_diff-1.lib libsvn_fs-1.lib libsvn_fs_base-1.lib libsvn_fs_fs-1.lib libsvn_ra-1.lib libsvn_ra_local-1.lib libsvn_ra_svn-1.lib libsvn_repos-1.lib libsvn_subr-1.lib libsvn_wc-1.lib libapr-1.lib libaprutil-1.lib xml.lib libneon.lib

लेकिन जब मैं अपने एप्लिकेशन को चलाने के (डीबगर में या डिबगिंग के बिना रिहाई का निर्माण शुरू), इसके लिए चलाता है: मैं minimal_client.c संकलन और निम्नलिखित पुस्तकालयों का उपयोग कर इसे लिंक कर रहा हूँ

प्रकार 'System.TypeLoadException' की एक बिना क्रिया का अपवाद अज्ञात मॉड्यूल में हुई: मुख्य() और फिर की पहली पंक्ति से टकराने के बिना बारे में 20 सेकंड के इस अपवाद फेंकता है।

अतिरिक्त जानकारी: से विधानसभा minimal_client प्रकार apr_pool_t, संस्करण = 1.0.3477.16033, संस्कृति = तटस्थ, PublicKeyToken = अशक्त लोड नहीं कर सका।

मैं libsvn_ उदारीकरण के विभिन्न संयोजन की कोशिश की और कोई लाभ नहीं हुआ उदारीकरण svn_ गए हैं।

मैं क्या गलत कर रहा हूं पर कोई विचार?

संपादित: मैं एक "Win32 कंसोल प्रोजेक्ट" (अभी भी VS2003 में) के साथ नए सिरे शुरू कर दिया और अब मैं अपने अनुप्रयोग की पहली कुछ पंक्तियों डिबग करने के लिए कर रहा हूँ। लेकिन अब, इस लाइन पर:

if (svn_cmdline_init ("minimal_client", stderr) != EXIT_SUCCESS) 

मैं एक अलग अपवाद (डीबगर में या डिबगिंग के बिना रिहाई का निर्माण शुरू) मिलती है:

0x7c91b21a पर

क्रिया के अपवाद में Win32ConsoleProject_minimal_client.exe: 0xc0000005 : उल्लंघन उल्लंघन लेखन स्थान 0x00000010।

संपादित: This thread बताते हैं कि इस त्रुटि SVN और मेरे एप्लिकेशन में stderr के बीच एक CRT बेमेल है।अगर मैं एसवीएन बनाना नहीं चाहता हूं तो वे मेल खाते हैं (मैं नहीं चाहता), मैं stderr के बजाय नल पास कर सकता हूं (बशर्ते मैं बिना संदेश के करने के इच्छुक हूं जो stderr पर जाएंगे) जब मैंने ऐसा किया, तो ऐप सही तरीके से सभी तरह से भाग गया।

+0

क्या यह एक प्रबंधित सी ++ परियोजना है? क्या आपने "नियमित" सी ++ परियोजना के साथ प्रयास किया है? –

+0

@RaphaelSP - यह मेरे मुद्दों में से एक हो सकता है - मेरा संपादन देखें। – JeffH

+0

क्या यह वास्तव में 3 प्रश्न हैं: "क्या कोई आसान एपीआई है?", "क्या कोई .vcproj उदाहरण है?", और "svn_cmdline_init() एक अपवाद क्यों फेंकता है?" – JeffH

उत्तर

3

ऐसा लगता है कि सी ++ रैपर नहीं हैं 'नेट' बह रहा है। हालांकि, आप एसवीएनसीपीपी को आजमा सकते हैं, जिसे रैपिडएसवीएन से जोड़ा जा सकता है।

विवरण के लिए http://rapidsvn.tigris.org/ देखें (नोट: मैंने इसे आजमाया नहीं है)।

+0

यह सब मुझे भी मिला। क्या मुझे चिंता होनी चाहिए कि इसे "0.9.8" कहा जाता है? – JeffH

+1

मुझे ऐसा नहीं लगता है, ऐसा लगता है कि एप्लिकेशन कम से कम तीन वर्षों तक रहा है, इसलिए सी ++ रैपर बहुत उपयोगी होना चाहिए। विशेष रूप से एक संस्करण संख्या के साथ जो 1. –

+0

के करीब है, मैं इसे स्वीकार कर रहा हूं क्योंकि आपकी टिप्पणी के साथ "क्या यह एक प्रबंधित सी ++ प्रोजेक्ट है?", मुझे अब जो चाहिए वह मिला। धन्यवाद! – JeffH

0

क्या आप विजुअल सी ++ 2005 में अपग्रेड कर सकते हैं? यदि ऐसा है, तो आप C++/CLI के साथ SharpSvn का उपयोग कर सकते हैं।

या यहां तक ​​कि शायद वीसी2003 तक चिपके रहें और प्रबंधित सी ++ के साथ SharpSvn पर जाएं? (नहीं है कि मैं पर कोई जानकारी कैसे आयुध डिपो, भले ही)

संपादित करें: ओह ठीक है, SharpSvn के मुखपृष्ठ पर स्पष्ट रूप से कहा गया है कि कुलपति ++ 2005 SP1 आवश्यक ...

+0

परिस्थितियां 2005 में माइग्रेट करने से रोकती हैं। – JeffH

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