这是我的.net代码
namespace MyMathLib
{
public class Methods
{
public Methods()
{
}
public static int Sum(int a, int b)
{
return a + b;
}
public int Product(int a, int b)
{
return a * b;
}
}
}
我正在尝试用powershell加载dll
$AssemblyPath = "D:\Visual Studio code\MyMathLib\bin\Debug\net6.0\MyMathLib.dll"
$bytes = [System.IO.File]::ReadAllBytes($AssemblyPath)
[System.Reflection.Assembly]::Load($bytes)
[MyMathLib.Methods]::Sum(10, 2)
它给出了下面的错误. dll位置是确定的..可以请任何人帮助
Unable to find type [MyMathLib.Methods].
At line:4 char:1
+ [MyMathLib.Methods]::Sum(10, 2)
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (MyMathLib.Methods:TypeName) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
如何解决这个问题?“
1条答案
按热度按时间bq3bfh9z1#
要编写与Powershell的桌面/Windows .NET框架版本以及.NET核心版本兼容的.NET库,请确保库/DLL的目标是.NET标准2.0(而不是.NET 6)。
因此,在VS项目中使用例如
而不是
<TargetFramework>net6.0</TargetFramework>
。对于.NET 6. 0,请使用/安装Powershell核心(当前版本是Powershell 7)。