1

У меня есть компьютер с win7 x64 с установленным VS2013, и у меня есть экземпляр Win Server 2012 с VS2013, установленным как Что ж. Я пытаюсь заставить BrowserMob Proxy.NET работать на сервере для установки JEnkins/Selenium, которую я запускаю. Когда я запускаю AutomatedTester.BrowserMob's Server.Start, находящийся в файле Server.cs, и он создает экземпляр объекта Process, я получаю сообщение об ошибке: «32-битные процессы не могут получить доступ к модулям 64-битного процесса», у которого есть NativeErrorCode из 299: Была завершена только часть запроса ReadProcessMemory или WriteProcessMemory.browsermob proxy.NET System.Diagnostics.Process приводит к тому, что «32-битные процессы не могут получить доступ к модулям 64-битного процесса» ошибка

Теперь, если я запустил его в своем окне Win7 x64, он работает нормально, но когда я запускаю то же самое на своем блоке Server 2012, он бросает вышеуказанную ошибку. Я запускаю IIS8 на сервере, где IIS7 работает на Windows 7. Если у кого-нибудь есть идеи о том, что я могу сделать, напишите :) Я построил проект, используя 4.5 framework и «Any CPU».

Что меня беспокоит, так это то, что это нормально работало на моем локальном компьютере, но оно не работает на сервере. Я обеспокоен тем, что я отслеживаю это как специфическую проблему с архитектурой, и, возможно, это некоторые настройки безопасности или что-то, о чем я не знаю. Еще одна часть информации - это Windows 2000 Server работает на AWS. Я разместил блок кода ниже, с которым это происходит. Всем спасибо!

try 
{ 
var _serverProcess = new Process 
{ 
StartInfo = { FileName = pathToBrowserMobProxy } 
}; 
} 
catch (System.ComponentModel.Win32Exception e) 
{ 
throw e;    
} 

ответ

1

Это было связано с ссылкой Lib NewtonSoft Json.NET, являющейся x32 версия, которая пришла с оберткой AutomatedTester BrowserserMob и мой ящик быть x64. Я удалил ссылку на x32-версию newtonsoft и добавил пакет/ссылку Nuget newtonsoft. Как только я это сделал, я наконец смог открыть окно команд и запустить прокси-сервер browsermob. Затем я столкнулся с небольшой проблемой, когда MSTest работает только как x32, и я думаю, это то, как он должен работать. Итак, в Jenkins я настраиваю плагин VSTest Runner и проверил тесты, и теперь все работает отлично. Надеюсь, однажды это поможет кому-то.

Смежные вопросы