До сегодняшнего дня синяя таблетка позволяла мне счастливо игнорировать интересный момент. Но в недавнем сообщении Джеймса Труэра (команда Microsoft PowerShell) она заменена на красную таблетку. И это привело к такому ходу мыслей...
До прошлой недели написание командлетов на C# включало раскапывание копии System.Management.Automation.dll везде, где его можно найти (или, если вас устраивает именно PowerShell v3, то из эталонных сборок V3, установленных VS2013 в C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0. Либо Кстати, это был не такой надежный способ поддерживать соединение с этой DLL, как это предусмотрено nuget
Но теперь, как объявил Труэр, ссылочные сборки PowerShell доступны через nuget -- ура! За исключением того, что Microsoft предоставила эталонные сборки не только для V3, но и для PowerShell V3, V4 и V5.
Меня интересует следующее: существуют ли ограничения относительно того, какую версию эталонных сборок PowerShell и какую версию платформы .NET следует использовать вместе? Или это просто, если система, в которой я хочу работать? запускать мои собственные командлеты C# с установленной версией PowerShell x, а затем просто использовать эталонные сборки версии x в разработке?
И еще один момент, который мне нужно уточнить в несколько более широком контексте: в настоящее время у меня есть решение, которое ссылается на System.Management.Automation.dll из GAC, а для CopyLocal установлено значение false, поэтому оно тогда использует DLL в GAC во время выполнения. Разве это не было бы предпочтительнее, чем иметь личную копию эталонной сборки, загруженную из nuget и хранящуюся в моем решении?
Подробнее здесь: https://stackoverflow.com/questions/344 ... k-versions
Сопоставление эталонных сборок PowerShell с версиями .NET Framework ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение