سؤال

لقد استعملت NUnit من قبل ، ولكن ليس في كل حين أبدا على هذا الجهاز.لقد فك ضغط النسخة 2.4.8 تحت Program Files و أنا الحصول على هذا الخطأ عند محاولة تحميل بلدي التجارب.

تعذر تحميل الملف أو التجميع 'nunit.إطار, Version=2.4.8.0 الثقافة=محايدة الأمر PublicKeyToken=96d09a1eb7f44a77' أو أحد تبعياته.يتعذر على النظام العثور على الملف المحدد**

من أجل تبسيط المشكلة ، لقد جمعت أبسط اختبار ممكن الملف.

using NUnit.Framework;

namespace test
{
    [TestFixture]
    public class Tester
    {
        [Test]
        public void ATest()
        {
            Assert.IsTrue( false, "At least the test ran!" );
        }
    }
}

واضاف لقد "C:\Program Files Unit-2.4.8-net 2.0\bin" أن طريقي (و تمهيد).ملاحظة أنه إذا كنت نسخ الاختبار الجمعية في هذا المجلد, ثم

C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console test.dll

يعمل ولكن

C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console c:\dev\nunit_test\test.dll

و

C:\dev\nunit_test>nunit_console test.dll

فشلت مع الخطأ المذكورة أعلاه.

ويفترض أن أتمكن من الحصول على حول هذا عن طريق نسخ NUnit.إطار dll في مشروعي بن مجلد ، ولكن لا أتذكر الاضطرار إلى القيام بذلك في الماضي.علاوة على ذلك, أنا الحصول على نفس الخطأ في واجهة المستخدم الرسومية.لا GUI أعرف من أين إطار يقع (التي هي في نفس المجلد)?

@سكوت أنا لا تستخدم Visual Studio.أنا استخدم السطر التالي إلى تجميع اختبار المشروع.

%windir%\Microsoft.NET\Framework\v2.0.50727\csc.exe /r:"C:\Program Files\NUnit-2.4.8-net-2.0\bin\nunit.framework.dll" /t:library /out:test.dll test.cs

@devio حاولت كلا من msi و مضغوط مع نفس النتيجة.

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

المحلول

إذا قمت بتثبيت باستخدام NUnit-2.4.8-الصافية لل2.0.msi، تضاف المجالس NUnit إلى GAC.

ويمكنك أيضا إعادة تثبيت يدويا عن طريق runnig gacutil من موجه VS2005 الأوامر.

نصائح أخرى

تأكد من أنك قمت بإضافة إشارة إلى nunit.framework. إذا كان لديك، ثم تأكد من خصائص تلك الإشارة لديها خاصية المحلية نسخ مجموعة إلى true.

كان عندي نفس المشكلة و كنت قد ركبت باستخدام NUnit-2.4.8-net 2.0.msi.التوسع في "إضافة إلى gac" التعليق أعلاه, هنا هو ما فعلته:

  • فتح "بيئة التطوير المتكاملة visual موجه الأوامر (عموما:تأكد من gacutil في المسار الخاص بك)،:cd "C:\Program Files Unit 2.4.8\bin"

  • إلغاء تسجيل الخاص بك nunit الإدخالات من gac.يمكنك القيام بذلك من خلال إيجاد nunit القيود المسجلة في gac:

gacutil /l | بحث /أنا "nunit" > temp.bat && المفكرة درجة الحرارة.الخفافيش

  • Prepend على nunit.الأساسية و nunit.إطار خطوط مع "gacutil /uf" ، أي:

gacutil /uf nunit.الأساسية,Version=2.4.2.0 الثقافة=محايدة الأمر PublicKeyToken=96d09a1eb7f44a77

gacutil /uf nunit.إطار,Version=2.4.2.0 الثقافة=محايدة الأمر PublicKeyToken=96d09a1eb7f44a77

  • تشغيل ملف bat إلى إزالتها:temp.الخفافيش

  • تسجيل nunit دلس عليك:

gacutil /i nunit.core.dll

gacutil /i nunit.framework.dll

ملاحظة أن التثبيت NUnit الحالي (2.5.10) لا تسجيل نفسه تلقائيا على GAC. إذا كان يجب استخدام GAC، تسجيله عبر gacutil / ط حيث nunitframeworkpath عادة ما يكون برنامج٪ الملفات٪ \ NUnit \ صافي 2.0 \ إطار \ nunit-الإطار

وحصلت على رسالة خطأ هذا اليوم عندما حاولت إضافة تجميع اختبار جديد إلى مشروع اختبار NUnit القائمة. ويبدو أن مشاريع اختباري كان عدة إشارات الطريق إلى المجالس nunit.framework.dll متطابقة.

إذا كان لديك التجمع اختبار أكثر من واحد في مشروع NUnit الخاص بك، فإنك قد ترغب في التحقق من الملكية مسار الإشارة nunit.framework في مشاريع الاختبار. مرة واحدة جعلها مطابقة، وذهب بعيدا رسالة خطأ.

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