أي طريقة لإضافة بعض التجمعات الافتراضية لحل أنواع من في الوحدة / ObjectBuilder؟

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

سؤال

وأنا أعمل على مشروع 1ST بي باستخدام إطار MS الوحدة اللجنة الاولمبية الدولية.

وإذا كان لدي هذا في تكوين وحدة بلادي:

  <container name="TestBusiness">
    <types>
      <type type="PFServer.DataAccess.TestDataAccess" />

وثم أحصل على خطأ:

<اقتباس فقرة>   

وتعذر تحميل النوع   "PFServer.DataAccess.TestDataAccess"   من التجميع   "Microsoft.Practices.Unity.Configuration،   الإصدار = 1.1.0.0، الثقافة = محايدة،   PublicKeyToken = 31bf3856ad364e35 ".

ومع ذلك، إذا أضيف اسم التجميع لتعريف نوع:

  <container name="TestBusiness">
    <types>
      <type type="PFServer.DataAccess.TestDataAccess, PFServer" />

وبعد ذلك يعمل بشكل جيد. هل هناك أي طريقة لإضافة بعض مجموعة افتراضية من المجالس لتحميل أنواع من؟ والشيء الغريب في هذه الحالة هو أن "PFServer.dll" هو التجميع الذي يحتوي على كل هذا التكوين على أي حال. أجد أنه من الغريب أن البرلمان الحالي ليس في مسار لحل الأشياء ... أو أنا فقط أفعل شيئا خاطئا؟

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

المحلول

والوحدة يحل سلاسل اكتب الكائنات عن طريق استدعاء أسلوب ثابت Type.GetType (سلسلة) التي تتوقع حجة هو <وأ href = "http://msdn.microsoft.com/en-us/library/system. type.assemblyqualifiedname.aspx "يختلط =" نوفولو noreferrer "> AssemblyQualifiedName . يتم إجراء المكالمة إلى GetType في الجمعية Microsoft.Practices.Unity.Configuration الذي لا يعرف عن التجمع PFServer الخاص بك لذلك يحتاج اسم التجميع في السلسلة.

وأعتقد نوع الأسماء المستعارة قد تساعدك. وهنا مثال على ذلك.

<unity>
    <typeAliases>
        <typeAlias alias="TestDataAccess" type="PFServer.DataAccess.TestDataAccess, PFServer" />
        ...
    </typeAliases>

    <containers>
      <container name="TestBusiness">
        <types>
            <type type="TestDataAccess" />
            ...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top