NuGet

2011-04-16 14 views
32

के साथ NHibernate 3.2 स्थापित करें मैं NHibernate के लिए नया हूं और इसके साथ उठने और चलाने के लिए प्रयास कर रहा हूं, फ्लूएंट एनएचबर्ननेट और एनएचप्रोफ NuGet का उपयोग कर। इस आलेख को पढ़ने के बाद (http://gurustop.net/blog/2011/03/13/nhibernate-3-1-0-on-nuget-important-details) ऐसा लगता है कि v3.1 को सीधे इंस्टॉल नहीं किया जाना चाहिए, हालांकि, v3.2 के लिए ऐसी कोई चेतावनी नहीं दिखाई देती है।NuGet

NuGet का उपयोग करके एनएचबीरनेट 3.2 और एनएचप्रोफ को सफलतापूर्वक स्थापित करने के बाद, मैं फ्लुएंट एनएचबेर्नेट को स्थापित करने में असमर्थ हूं क्योंकि यह कहता है कि यह "एनएचबीर्नेट के नए संस्करण का पहले से संदर्भ दे रहा है"।

साथ ही, जब मैं अपना ऐप चलाता हूं तो मुझे निम्न त्रुटि मिलती है "फ़ाइल या असेंबली लोड नहीं हो सका" NHibernate.ByteCode.Castle 'या इसकी निर्भरताओं में से एक "। निम्नलिखित लिंक (Could not load file or assembly in NHibernate) कई अतिरिक्त असेंबली स्थापित करने का सुझाव देता है, जो कि मैं पहले स्थान पर NuGet का उपयोग करके बचने की उम्मीद कर रहा था।

इस बिंदु पर एनएचजीट पर संकुल के रूप में चीजों को चलाने और चलाने के लिए एनएचफ़ोर्ज पर चरणों का पालन करना आसान होगा, क्योंकि यह संगत नहीं दिखता है?

उत्तर

29

NHibernate 3.2 का अपना प्रॉक्सी कारखाने के साथ आता है चाहिए। यदि आप कॉन्फ़िगरेशन फ़ाइल का उपयोग कर रहे हैं, तो आपको प्रॉक्सीफैक्टरी कॉन्फ़िगरेशन प्रॉपर्टी को हटाने की आवश्यकता है।

मुझे फ्लुएंट एनएचबेर्नेट के संस्करण का मानना ​​है कि आप NHibernate.ByteCode.Castle का उपयोग करने के लिए डिफ़ॉल्ट का उपयोग कर रहे हैं। उस मामले में, आप का निर्माण किया NHibernate में 3.2 प्रॉक्सी कारखाने के साथ है कि सेटिंग को ओवरराइड करने की आवश्यकता होगी:

.ProxyFactoryFactory("NHibernate.Bytecode.DefaultProxyFactoryFactory, NHibernate") 
+2

यह मेरे लिए तय किया गया (या बल्कि, <संपत्ति को हटा रहा है नाम = "proxyfactory.factory_class"> क्योंकि मैं एक्सएमएल विन्यास फाइलों का उपयोग कर रहा हूं)। 'एनएचबीर्नेट।Nuget में कैसल 'एकीकरण पैकेज फिलहाल 3.1.0.4000 तक है (जैसा कि मैं यह टिप्पणी लिखता हूं), उन्हें इसे NHibernate के नवीनतम संस्करण में अपडेट करने की आवश्यकता है। उम्मीद है कि एनएचबीरनेट के अपने प्रॉक्सी फैक्ट्री और कैसल के बीच महत्वपूर्ण अंतर नहीं हैं? –

+0

बहुत बढ़िया धन्यवाद! – CrazyCoderz

+1

@JamesWebster +1 एक्सएमएल कॉन्फ़िगरेशन से '' को हटाने के लिए। –

11

धाराप्रवाह NHibernate के प्रत्येक संस्करण एक सटीक (धाराप्रवाह NHibernate पैकेज में शामिल) NHibernate के संस्करण का उपयोग करता आप NHibernate पैकेज को हटाने और जोड़ने धाराप्रवाह NHibernate केवल

+0

यह सही है ... पता नहीं क्यों कोई टिप्पणी के बिना नीचे मतदान किया। – Charlino

+0

फ्लुएंट निबर्ननेट पैकेज एनएच 3.1 स्थापित करता है। सवाल 3.2 संदर्भित है। – mxmissile

+1

"मैं एनएचबीर्नेट के लिए नया हूं और उठने और इसके साथ चलने की कोशिश कर रहा हूं" इसलिए मुझे लगता है कि यह जवाब मान्य है - मैं इन मुद्दों के कारण 3.1 का उपयोग कर रहा हूं, आखिर में जब सभी पैकेज पकड़ लेंगे तो हम सभी 3.2 – Adam

0

NHibernate 3.2 का अपना मानचित्रण विन्यास (अनुरूप) के साथ आता है। FluentNHibernate केवल इसके परिणामस्वरूप NHibernate 3.1 के साथ काम करता है, आप 3.2 का उपयोग नहीं कर सकते (मुझे एक ही समस्या थी)। इसलिए आपको मैन्युअल रूप से 3.1 और संदर्भ डाउनलोड करना होगा जब तक कि NuGet आपको सीधे 3.1 का उपयोग करने की अनुमति न दे।

आपका दूसरा विकल्प 3.2 के सभी संदर्भों को निकालना है और फिर NuGet से FluentNHibernate स्थापित करना है, तो निर्भरता रिज़ॉल्यूवर आपके लिए एनएचबीर्नेट 3.1 को स्वचालित रूप से शामिल करेगा और स्वचालित रूप से शामिल करेगा।

3

मैं NHibernate 3,2

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.2.0.1001" newVersion="3.2.0.1001" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
+0

अच्छी कॉल। एनएचबीर्नेट 3.3.1.4000 के साथ खेलने के लिए मुझे FluentNHibernate 1.3.0.727 प्राप्त करने के लिए इसकी आवश्यकता थी। –

6

साथ FluentNhibernate काम करने के लिए आप पैकेज प्राप्त करने के लिए जीयूआई के बजाय Nuget पैकेज प्रबंधक कंसोल का उपयोग करते हैं कॉन्फ़िग फ़ाइल में इस मदद वाई उपयोग कर रहा हूँ (स्थापित-पैकेज FluentNHibernate) आप संस्करण 1.3.0.717 मिलेगा जो एनएचबीर्नेट 3.2 enter image description here

के साथ संगत है, मैंने कोशिश की और मेरे लिए ठीक काम कर रहा है। मैंने पहले से ही इस लिंक पर इसका उत्तर दिया: which version of fluent nhibernate is compatible with nhibernate 3.2