首页 文章

.NET Core 2.2 Assembly System.Windows.Forms缺失

提问于
浏览
0

我想将我在.NET Framework 4.0中的项目迁移到.NET Core 2.2 . 但是我的程序执行错误 .

我的项目想要使用 Assembly 类加载.dll,它会抛出一个例外:'s working fine with .NET Framework 4.0 but not with .NET Core 2.2. It'

System.Reflection.TargetInvocationException:调用目标抛出了异常 . ---> System.IO.FileNotFoundException:无法加载文件或程序集'System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'

using System.Reflection; // Assembly class

var pathToDll = "../../../../";
var asm = Assembly.LoadFrom(pathToDll);

var callingProgObject = asm.GetType("RandomType.CallingProg");
MethodInfo method = callingProgObject.GetMethod("MethodInDll");

var input = new InputForDll();
method.Invoke(callingProgObject, new object[] {input}); // <-------- error

我需要导入一个兼容.NET Core 2.2的软件包,类似于.NET Framework 4.0的 System.Windows.Forms

解决方案中安装了我的NuGet包:

My NuGet packages installed in Solution

不重复How to use System.Windows.Forms in .NET Core class library

2 回答

  • 2

    .NET Core没有Windows窗体(或WPF) .

    你想要的是不可能的

    (但是对于具有下一个主要版本的.NET Core的已定义子集,可能是可能的)

    如果列出您的要求,也许人们可以建议另一种方式来做,但它不是Windows窗体 .

  • 2

    目前.NET核心不支持Windows.Forms .

    您可以参考此answer了解在.NET核心中创建GUI的其他方法 .

相关问题