سؤال

حاولت تحويل مشروع يعتمد على وقت تشغيل VJS إلى VS2010 ، لكنه يخطئ عند محاولة الجري.

إنه يعطي الخطأ "لا يمكن تحميل الملف أو التجميع" VJSLIB "أو أحد تبعياته. تم إجراء محاولة لتحميل برنامج بتنسيق غير صحيح."

قمت بإعادة تثبيت وقت تشغيل VJS ، لكن لا يبدو أنه يساعد.

هل هناك أي طريقة للحصول على .NET 4 للعمل مع هذا؟

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

المحلول

حل بسيط جدا - استدعاء الرمز J# من .NET 4.0

يمكنك السيطرة وتحميلها أولاً لتزويد مسار صريح. ثم في المرة القادمة التي يجب أن تكون هناك حاجة إليها ، فهي تعرف بالفعل المسار (أو تم تحميله بالفعل في AppDomain).

ستحتاج إلى استخدام وظيفة LoadLibrary ، لذا استيراد مرجع Pinvoke:

[DllImport("kernel32", SetLastError = true)]
static extern IntPtr LoadLibrary(string lpFileName);

ON LOAD (إما الوظيفة الرئيسية في وحدة التحكم/winforms أو في global.asax application_start):

if (Environment.Version.Major >= 4)
{
    string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"..\Microsoft.NET\Framework\v2.0.50727");
    folder = Path.GetFullPath(folder);
    LoadLibrary(Path.Combine(folder, "vjsnativ.dll"));
}

نصائح أخرى

لقد قمت بتنزيل حزمة Microsoft Visual J# الإصدار 2.0 القابلة لإعادة التوزيع من http://www.microsoft.com/en-us/download/details.aspx؟displaylang=en&id=4712 وتثبيته. تم حل المشكلة.

لقد حصلت على هذا للعمل من خلال نسخ c: windows microsoft.net framework v2.0.50727 vjsnativ.dll (لـ 64 بت microsoft.net framework64 v2.0.50727 vjsnativ.dll) .

أظن أن Microsoft ستحتاج إلى إصدار حزمة أخرى قابلة لإعادة توزيعها للعمل مع .NET 4.0. وفي الوقت نفسه ، يقوم هذا العمل بعمل جيد.

الطريقة الوحيدة التي يمكنني من خلالها الحصول عليها هي نسخ C: Windows Microsoft.net Framework v2.0.50727 vjsnativ.dll إلى C: Windows Microsoft.net Framework v4.0.30319. يرى http://community.microfocus.com/borland/managetrack/starteam/w/knowledge_base/17108.error-unable-to-load-vjsnativ-the-specified--sould-not-found-exception- من Hresult-0x8007007e.aspx

للإضافة إلى الإجابات الحالية ، وجدت أن الحلول لم تنجح بالنسبة لي.

أول شيء فعلته هو إصلاح Microsoft Visual J# 2.0 Package -SE (X64) باستخدام لوحة التحكم Windows (انقر بزر الماوس الأيمن وانقر فوق الإصلاح). كان هذا في حال تسببت في أي ضرر في محاولاتي السابقة لإصلاح المشكلة.

لقد قمت بالفعل بتنفيذ الحل الذي قدمه ديفيد ثيلين.

1 خطوة إضافية أغلقت الصفقة بالنسبة لي (حل المشكلة): نسخ "vjscor.dll" و "vjslib.dll" و "vjsnativ.dll" من C: Windows Microsoft.net Framework64 v2.0.50727 ل C: Windows Microsoft.net Framework v2.0.50727

لذا ، وضعت حزمة Microsoft DLLs الصحيح في إطار عمل 64 بت ، واضطررت إلى نقلها يدويًا إلى المجلد 32 بت الذي يتم نسخه بعد ذلك إلى مجلد الحل بواسطة حل David Thielen (أعلاه).

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