У меня есть приложение .Net3.5, в котором есть ссылка на System.management.automation.dll из PowerShell2.0
Microsoft заявляет, что Powershell 2.0 устарела :
Размещение Windows PowerShell 2.0 в приложении .NET 2.0 / 3.5.
Если вы разработали приложение для .NET 2.0 / 3.5 (он же CLR2) и у вас есть сборка PowerShell, например System.Management.Automation.dll, вы используете версию этих сборок Windows PowerShell 2.0. Если дело обстоит именно так, вы должны работать над переносом приложения на .NET 4.6+ (он же CLR4), используя справочные сборки из Windows PowerShell 3.0 или более поздней версии. Таким образом, вы будете использовать самую последнюю версию сборок Windows PowerShell, доступных на коробке. (Примечание: для этого может потребоваться, чтобы пользователи Windows 7 или Server 2008 R2 установили .NET 4.6+ и / или WMF 3.0 или выше.)
Итак, вот вопросы:
Итак, если я хочу обновить сборку PowerShell до более новой версии, мне нужно только перекомпилировать свою аппиляцию в .NET4.6 +? Если нет ошибок компиляции и скомпилированный exe работает хорошо, значит ли это, что мне не нужно менять исходный код?
И я обнаружил, что могу добавить пакет Microsoft.PowerShell.5.ReferenceAssemblies с пакетом NuGet. Этот метод имеет другое поведение при добавлении ссылки?
Исполняет ли exe-файл библиотеку System.Management.Automation.dll по ссылочному пути во время работы, и если на компьютере, на котором работает exe, нет этой библиотеки в ссылочном пути, по которой он получит ошибки?
Заранее спасибо!