Вопрос

Я пытался преобразовать проект, который опирается на время выполнения VJ для VS2010, но он ошибся при попытке запустить.

Это дает ошибку, что «Не удалось загрузить файл или сборку« vjslib »или одну из его зависимостей. Была предпринята попытка загрузить программу с неправильным форматом."

Я переустановил время выполнения VJ, но, похоже, это не помогло.

Есть ли способ получить .NET 4 работать с этим?

Это было полезно?

Решение

Очень простое решение - Вызов J # код из .NET 4.0

Вы берете под контроль и загружаете его сначала поставляя явную путь. Затем в следующий раз это нужно, он уже знает путь (или он уже загружен в Appdomain).

Вам нужно будет использовать функцию LoadLibrary, поэтому импортируйте ссылку PINVOOKOOKE:

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

На нагрузке (главная функция в консоли / 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 frame64 v2.0.50727 vjsnativ.dll) к каталогу отладки / выпуска моего приложения Отказ

Я подозреваю, что Microsoft потребуется выпустить еще один j # перераспределенный пакет для работы с .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-dll-vjsnativ-the-sspecified-module-could-Not- from-hresult-0x8007007e.aspx

Чтобы добавить в существующие ответы, я обнаружил, что решения не работали для меня.

Первым, что я сделал, было восстановить Microsoft Visual J # 2.0 Перераспределенный пакет -Сес (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 разместил правильные DLL в 64-разрядную структуру .NET, и мне пришлось вручную переместить их в 32-битную папку, которая затем копировала в папку моего решения путем решения Дэвида Тилена (выше).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top