【发布时间】:2022-01-27 08:10:38
【问题描述】:
我正在尝试在我的 F# 应用程序中实例化一个 WebBrowser 控件:
open System;;
open System.Net.Http;;
open System.Windows.Forms;;
...
let browser =
new WebBrowser(ScriptErrorsSuppressed = true,
Dock = DockStyle.Fill,
DocumentText = fsharpOrg.Result)
但我得到了这个例外:
System.IO.FileLoadException: **Could not load file or assembly 'System.Drawing.Common**, Version=6.0.0.0,...
我正在使用 dotnet sdk 版本 6.0.100。我在论坛和文档中搜索了答案或类似问题,但我没有找到可以引导我解决问题的东西。我们将不胜感激。
【问题讨论】:
-
您的输出文件夹中有 System.Drawing.Common 的 DLL 吗?所以你的代码和 DLL 的结果都在同一个文件夹中。
-
为什么在开放语句的末尾有分号?我认为不需要它们。
-
我在一个小测试应用程序中编译了你的代码,我没有这个问题。我安装了 6.0.100 和 6.0.101 SDK,还有一堆旧的。您正在使用的其他库是否试图以与应用程序本身不同的版本引入 System.Drawing.Common?
-
您是否在项目文件中引用 System.Drawing.Common?我在 .NET 6 中 don't think you're supposed to do that。
-
@BentTranberg, 1.- 有分号,因为我将程序移植到 FSI 脚本进行调试 2.- 我在所有代码之前添加了这个指令:#r "C:\Program Files\dotnet \shared\Microsoft.WindowsDesktop.App\6.0.0\System.Windows.Forms.dll" 因为环境找不到对 winforms 库的引用 3.- 我的知识范围是我没有明确引用该 dll ,但我不是 100% 确定。
标签: .net-core f# windows-forms-core