在PowerShell中加载.NetCore DLL

时间:2017-07-06 14:22:04

标签: .net powershell .net-core

我创建了一些使用.NetCore 1.1编译的.DLL。我现在需要将它们加载到Powershell并调用它们的方法。这是支持还是我的DLL需要使用完整版的.Net编译?

3 个答案:

答案 0 :(得分:2)

您的.NET Core dll不会在标准的开箱即用的Windows上运行,只能运行PowerShell。

但是!这里有一个.NET Core友好版本的powershell:Powershell Core

Powershell Core将在Windows,Linux和macOS上运行,就像.NET Core一样。

答案 1 :(得分:0)

要将DLL添加到powershell脚本,请使用以下代码:Add-Type -Path "C:\locationOfDLL\mydll.dll"。看看它是否适用于根据需要访问dll。

答案 2 :(得分:0)

当我尝试做类似的事情时遇到了这个问题。我通过以下方式成功加载了.NET Core dll:

// You can use namespaces, but also paths
using assembly 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.4\System.Text.Json.dll'

// Specific for the static method I use in my example
$options = New-Object System.Text.Json.JsonSerializerOptions

// Use the Serialize method of the static class JsonSerializer
$jsonString = [System.Text.Json.JsonSerializer]::Serialize($device, $options);

我使用了System.Text.Json,但是您可以使用任何dll来做到这一点。

来源: Powershell 7 docs