ما هي المشكلة مع nhibernate 2.1.0؟ أنا دائما الحصول على خطأ!

StackOverflow https://stackoverflow.com/questions/1157448

  •  18-09-2019
  •  | 
  •  

سؤال

لقد قرأت في هذا المنشور أنه تمت إزالة كل التبعية Proxfactory باستخدام واجهة في هذا بريدوبعد لذلك تحتاج إلى تحديد التنفيذ الذي يجب استخدامه في ملف Hibernate.cfg.xml. لدي هذا التكوين:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=MYDB;Integrated Security=true</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
  </session-factory>
</hibernate-configuration>

لقد أضفت إحالة إلى NHibernate.ByteCode.Castle.dll. وبعد عندما أقوم بتشغيل الاختبار باستخدام mbunit، أحصل على الخطأ الذي يجب أن يحتوي مجلد النشر الخاص بي أيضا NHibernate.ByteCode.Castle.dll أو NHibernate.ByteCode.LinFu.dll. وبعد أعتقد أن هذا هو التكوين الصحيح وينبغي أن تعمل. لكن هذا لا يعمل. لقد قضيت الكثير من الوقت وراء هذا.

ملاحظة: عندما قمت بإلغاء تحميل Nibernate، لم يتم بناء مشروع Nibernate.bytecode.Castle. أضفت المشروع إلى الحل وبنيته. ثم أشيرت إلى التجمع.

هل كانت مفيدة؟

المحلول

كان لدي هذا الوضع نفسه منذ وقت ليس ببعيد.

عندما تقول إنك أضافت مرجعا، هل كان ذلك إلى مشروع المشروع أو الاختبار الفعلي؟ يجب أن يكون داخل كليهما. أيضا، ضمان تعيين "نسخ المحلي" إلى TRUE في الخصائص (F4) المرجع.

نهج آخر أخذته للتحقق من أنه إذا كان DLL ضمن الدليل الذي يعمل عليه التطبيق من خلال استدعاء ما يلي قبل أي من التكوين.

Console.WriteLine(Directory.GetCurrentDirectory());

في وضعي، تعلمت أنه عند استخدام التجارب إلى تنفيذ الاختبارات، كان يعمل في موقع مختلف عن أنني كنت أتوقع ولم يكن يحتوي على DLL. بدا القيام بحل نظيف وإعادة البناء لتصحيح المشكلة.

آمل أن يمنحك هذا بضعة أشياء للتحقق منها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top