Невозможно отладить .NET после обновления VS 2019

Я использовал VS 2019 для отладки кода SQL Server CLR C# .NET. Я получил уведомление об обновлении от VS, которое я сделал и перезагрузился. Теперь я получаю сообщение об ошибке при попытке отладки

Невозможно отладить код .NET. Не удалось подключиться к SQL Server на «….». 64-разрядную версию удаленного отладчика Visual Studio (MSVSMON.EXE) нельзя использовать для отладки 32-разрядных процессов или 32-разрядных дампов. Вместо этого используйте 32-разрядную версию.

Теперь мой SQL Server (2019) является 64-разрядным, а целевой платформой SQLCLR является x64, так что же происходит, чтобы заставить его думать, что задействован 32-разрядный процесс?

Кроме того, SQL Server и VS 2019 находятся на одном компьютере, и это не проблема удаленного компьютера.


person Ben Watson    schedule 17.12.2020    source источник
comment
Более полный список требований для отладки SQLCLR см. в моем ответе на следующий S.O. вопрос: Как отладить хранимую процедуру CLR в VS 2013.   -  person Solomon Rutzky    schedule 18.12.2020


Ответы (2)


Мне нужно было запустить VS 2019 в качестве администратора, что решило проблему. Сообщение об ошибке вводит в заблуждение.

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

person Ben Watson    schedule 18.12.2020

Похоже, вы пытаетесь выполнить отладку с помощью 64-разрядных инструментов удаленного отладчика вместо 32-разрядных инструментов удаленного отладчика.

Компонент подключения к SQL, скорее всего, 32-битный, поэтому он дергается.

https://visualstudio.microsoft.com/downloads/#remote-tools-for-visual-studio-2019

person dynamiclynk    schedule 17.12.2020
comment
Почему OP необходимо использовать 32-разрядные инструменты удаленного отладчика? Хотя в сообщении об ошибке указано 32-разрядная, не забывайте, что среда OP — это 64-разрядная версия Windows, 64-разрядная версия SQL Server (+ 64-разрядная версия SQLCLR). Кроме того, среда OP работала до перезагрузки. Настройки удаленной отладки сохраняются в настройках проекта Visual Studio, поэтому маловероятно, что они были изменены только из-за обновления VS + перезагрузки. - person MickyD; 18.12.2020
comment
Потому что он пытается использовать 64-битный сеанс удаленного отладчика против 32-битного агента. В противном случае они могут убедиться, что отлаживают как x86, а не AnyCPU. - person dynamiclynk; 18.12.2020
comment
32-разрядный агент — это SQL Server x64. В любом случае, все это спорно, поскольку все находится на локальной машине. Удаленный отладчик не требуется и не используется напрямую OP. - person MickyD; 18.12.2020
comment
Я понимаю вашу мысль, но, исходя из ошибки, в которой говорится, что для обращения к агенту 32-битных инструментов отладки требуется 32-битный сеанс отладки. SQL Server является 64-битным, но это не означает, что удаленный процесс, в котором находится сеанс отладки, является таковым. - person dynamiclynk; 18.12.2020