SqlParser LoadWithPartialName завершается неудачно при вызове из VS C, но работает иначе - PullRequest
0 голосов
/ 30 января 2020

Powershell 5.1.x, Windows 10 Pro.

При запуске следующей команды в консоли PowerShell по умолчанию:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Management.SqlParser")

она работает нормально, и я могу использовать классы SqlParser и методы впоследствии.

Однако та же команда, выполненная в сеансе отладки кода Visual Studio, приводит к:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlS …
Exception calling "LoadWithPartialName" with "1" argument(s): "Could not load file or assembly
'Microsoft.SqlServer.Management.SqlParser, Culture=neutral, PublicKeyToken=null'. Operation is not supported. (0x80131515)"

VS C выполняется с теми же привилегиями, что и стандартная консоль PS. Что я делаю неправильно? Как успешно загрузить сборку в VS C?

Обновление: следующий код прекрасно работает в VS C:

[System.Reflection.Assembly]::LoadFrom("C:\WINDOWS\assembly\GAC_MSIL\Microsoft.SqlServer.Management.SqlParser\11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.Management.SqlParser.dll")

, поэтому я больше не заблокирован. Тем не менее, остается вопрос: почему метод ::LoadWithPartialName работает в одном месте, а не в другом?

...