Эталонные сборки Powershell для powershell версии ctp3

StackOverflow https://stackoverflow.com/questions/1051571

  •  20-08-2019
  •  | 
  •  

Вопрос

Я установил powershell v2 ctp3 из загрузки ms и задавался вопросом, где хранятся обычные ссылочные сборки для использования в c # для этой версии.Я знаю, что для версии v1 они находятся в program file\etc eference assemblies\powershell....но где они для версии v2 ctp3.Я специально ищу новую систему управления.Automation.dll

с уважением Боб.

Это было полезно?

Решение

В моей 32-разрядной системе XP


Get-ChildItem \ -Recurse -Include System.Management.Automation.dll | 
 ForEach-Object {$.Имя каталога,$($.VersionInfo.FileVersion)}
раскрывает:


   C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0
6.0.6000.16386
C:\WINDOWS\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35
6.1.6949.0

Просмотр FileVersion показывает, что тот, который находится в GAC это та версия, которую вы ищете.Но поскольку это есть в GAC, вам не нужно беспокоиться об этом, просто ссылайтесь на это, а затем используйте.

Другие советы

В моем случае путь был в

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management .Автоматизация \версия 4.0_3.0.0.0__ 31bf3856ad364e35

Способ, которым я нашел это, состоял в том, чтобы просмотреть обновленные папки после установки этого ctp в Windows и посмотреть, куда делись обновления.Надеюсь, это поможет вам.

Вы не должны использовать GAC для разрешения ссылок.Вы должны найти соответствующие ссылки в разделе что-то вроде:C:\Program Файлы\Ссылочные сборки\Microsoft\WindowsPowerShell

Это распространенный миф о том, что сборки разрешаются во время проектирования / сборки в GAC.До CLR 4.0 вам это сходило с рук (потому что 3.0 и 3.5 на самом деле являются CLR 2.0).При истинном мультиаргетинге это прерывается.Таким образом, вы всегда должны использовать ссылочные сборки.

Также обратите внимание, что ссылочные сборки не обязательно должны содержать какой-либо код.Это могут быть просто метаданные сборки и общедоступные символы.

О, и я хотел добавить, что GAC используется загрузкой fusion для разрешения во время выполнения.

Под временем разработки / сборки я подразумеваю время, когда вы используете Visual Studio для сборки своего приложения или используете MSBuild для сборки вашего EXE-файла.Во время сборки мы определяем ссылки, которые помещаются в исполняемый файл.Поскольку может быть задействовано несколько CLR, мы должны убедиться, что указаны ссылки на "правильные" из них.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top