gpt4 book ai didi

.net - PowerShell 运行空间与 DLR

转载 作者:行者123 更新时间:2023-12-04 00:51:21 24 4
gpt4 key购买 nike

随着 .NET 4.0 测试版的推出,以及 .NET 动态语言运行时的更广泛的可用性,我猜这些类型的主题将变得“更热”。

我对 DLR 和 PowerShell 之间的概念差异感到困惑。在我看来,如果我想在我的 .NET 应用程序中提供脚本功能,我可以使用 DLR(因此可以在 IronPython 或 IronRuby 中启用脚本,或者任何其他可用于 DLR 的 Iron* 语言),或者托管一个 PowerShell运行空间。

每种方法的优缺点是什么?为什么我可以选择一个而不是另一个?作为一种动态语言本身,以及一流的 .NET 语言,为什么 PowerShell 不也针对 DLR?

最佳答案

在 .NET 4.0 中,DLR 由您可以考虑的“DLR v1.0”组成。这包括调用站点缓存机制、跨语言互操作特性以及对现有 LINQ 表达式树的改进。这些都是对于实现语言但不托管语言非常有用的功能。

这就是 DLR 1.0 中缺失的部分 - 所有语言的共享托管故事。但我们确实以托管 API 的形式开始,我们在带有 DLR 和 IronPython 项目的 CodePlex 以及在 github 上提供 IronRuby。不幸的是,我们认为我们无法在 .NET 4.0 时间框架内插入这些 API 达到交付质量,因此我们没有包含它们。我们特别希望从 Powershell 甚至 VB 和 C# 等其他语言获得更多反馈,以确保我们拥有正确的 API。

因此,除了现在的 IronPython 和 IronRuby 之外,每种语言或多或少都有自己的托管故事。但我们很乐意看到所有这些在 future 统一起来,这样您的用户就可以选择要使用的语言。但是现在,Powershell 的目标范围内没有任何东西。

关于.net - PowerShell 运行空间与 DLR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1184360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com