与此问题相关:如何正确地将.NET 程序集添加到 Powershell 会话?
我使用此代码同样尝试将 .NET Core 3.1 程序集加载到 PowerShell 会话中。
我用了这个代码:
# Load Assembly
Add-Type -Path "I:\DW\tools\bin\Release\netcoreapp3.1\win-x64\publish\DataTools.dll" -PassThru
if ($Error.Count -gt 0) {
Write-Host $Error[0].Exception.LoaderExceptions
}
我得到了这个错误:
System.IO.FileNotFoundException: 无法加载文件或程序集“System.Runtime,Vers ion=4.2.2.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。
然后我用这个命令构建了我的程序集以使其成为“自包含的”:
dotnet publish -r win-x64 -c Release --self-contained
但是,现在我得到了这些LoaderExceptions
:
System.TypeLoadException:无法从程序集“System.Private.CoreLib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e”加载类型“System.Object”,因为父级不存在。
我的声明中是否遗漏了某些内容dotnet build
?或者我是否需要添加额外的程序集?
注意:我还安装了 dotnet 5 预览版。