Я столкнулся с этим в ISE (но, кажется, относится и к обычному командному окну), и кажется, что использование автозаполнения автоматически Add-Type
для всего, что вы ищете.Если вы запустите новый экземпляр и запустите:
[AppDomain]::CurrentDomain.GetAssemblies() | grep Security
, он не вернет System.Security
, но если вы затем наберете это, и intellisense сделает свое дело:
[System.
Вы можетезатем запустите это снова:
[AppDomain]::CurrentDomain.GetAssemblies() | grep Security
И тогда он вернет System.Security
.Вот почему вы можете написать сценарий, который работает нормально, а затем вернуться к нему позже, и он сломался.Использование intellisense не исправляет ваш сценарий, вместо этого вы должны добавить эту строку:
Add-Type System.Security
Или какая-либо библиотека не добавляется автоматически (кажется, что требуется имя файла dll, например, C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Security.dll
).
Я уверен, что IseSteroids (платная надстройка ISE) может обнаружить это, может быть, и другие.