我创建了一些使用.NetCore 1.1编译的.DLL。我现在需要将它们加载到Powershell并调用它们的方法。这是支持还是我的DLL需要使用完整版的.Net编译?
答案 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来做到这一点。