Отключить виртуализацию реестра для Visual Studio 2008 на сервере 2008 - PullRequest
2 голосов
/ 24 августа 2010

У меня проблема с веб-сервисом, который я пытаюсь отладить. Существует проблема с веб-службой, но я, похоже, не могу справиться с этим, потому что, когда я запускаю тот же проект в отладчике Visual Studio, он не может найти какие-либо соответствующие ключи реестра. Они просто обнуляются. Когда я попытался перечислить все доступные ключи в HKLM \ Software, список полностью отличался от того, что я вижу в RegEdit. Похоже, что Visual Studio подвергается какой-либо виртуализации реестра, которой не подчиняется тот же код, запускаемый из IIS.

Я использую Visual Studio как администратор (и запускаю его в роли администратора), и эта проблема только кажется, что она появилась - вчера тот же код работал нормально, что делает его еще более запутанным.

Есть ли способ заставить сервер разработки Visual Studio отладчик / ASP.Net работать так же, как процесс запущен? Если нет, то есть ли простой способ определить процесс, в котором будет работать мой веб-сервис, чтобы я мог просто подключиться к нему и отладить таким образом?

Редактировать: похоже, что проблема не связана с подразделом Wow6432Node, поскольку рассматриваемые разделы реестра относятся к 64-разрядному приложению. Однако я даже не вижу существования ключа Wow6432Node из моего кода, если он работает в отладчике Visual Studio.

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Это связано с виртуализацией реестра, смотрите здесь: http://msdn.microsoft.com/en-us/library/aa965884.aspx

Это означает, что для каждого пользователя вы можете иметь разные реестры.Это особенно раздражает, если вы работаете как пользователь-сервис (asp.net), потому что вы получите «пустые» ключи реестра - потому что окна будут искать виртуальную копию HKML для этого пользователя вместо «глобального» реестра HKLMключ (который вы видите при запуске regedit)

0 голосов
/ 25 августа 2010

Только одна непроверенная идея.Существует удаленный отладчик Visual Studio 2008 с пакетом обновления 1 (SP1), который можно загрузить в трех версиях: x86, x64 и IA64.(Те же файлы, вероятно, в %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger на вашем компьютере).Вероятно, если вы будете использовать 64-разрядную версию удаленного отладчика, то ваша проблема будет решена?

Эта ссылка "Как: настроить удаленную отладку" также может быть интересной.

...