1

我已经从 ms 下载安装了 powershell v2 ctp3,并且想知道通常的参考程序集存储在哪里,以便在此版本的 c# 中使用。我知道对于 v1 版本,它们在程序文件\etc\reference assembly\powershell.... 但是对于 v2 ctp3 版本它们在哪里。我专门寻找新的 System.Management.Automation.dll

问候鲍勃。

4

4 回答 4

2

在我的 32 位 XP 系统上


Get-ChildItem \ -Recurse -Include System.Management.Automation.dll | 
 ForEach-Object {$.DirectoryName,$($.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 中,因此您无需担心,只需引用它即可,然后使用它。

于 2009-06-26T23:18:00.410 回答
1

就我而言,路径在

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0__31bf3856ad364e35

我发现它的方法是在 Windows 中安装此 ctp 后查看更新的文件夹并查看更新的去向。希望这对您有所帮助。

于 2013-05-06T14:40:25.420 回答
0

您不应使用 GAC 来解析引用。您应该在以下位置找到适当的参考:C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell

在 GAC 的设计/构建时解决程序集是一个常见的神话。在 CLR 4.0 之前,您可以摆脱它(因为 3.0 和 3.5 确实是 CLR 2.0)。有了真正的多目标,这打破了。因此,您应该始终使用引用程序集。

另请注意,引用程序集不必包含任何代码。它们可以只是程序集元数据和公共符号。

于 2009-09-01T01:13:52.260 回答
0

哦,我想补充一点,融合负载使用 GAC 来进行运行时解析。

通过设计/构建时间,我的意思是您正在使用 Visual Studio 构建您的应用程序,或者正在使用 MSBuild 构建您的 EXE。在构建期间,我们确定放置在 EXE 中的引用。由于可能涉及多个 CLR,因此我们必须确保引用了“正确”的 CLR。

于 2009-09-01T01:18:42.147 回答