如何在VS Code中将.Net Core内置程序集(例如System.Windows.Forms)添加到C#项目中?
这可以通过使用参考管理器在Visual Studio中轻松完成。但是,我陷入了VS Code的困境。有一个关于如何从NuGet包中添加程序集的教程,但我找不到有关添加.Net Core程序集的教程。
更新:我尝试了Nsevens所说的以下参考。
<ItemGroup>
<Reference Include="System.Windows.Forms">
<HintPath>thePath\System.Windows.Forms.dll</HintPath>
</Reference>
</ItemGroup>
在编辑器中没有发现问题,可以成功编译。
但是,在调试模式下,程序在开始调试后立即消失。调试控制台说
程序'[[(some number)] MyProgram.dll'已退出,代码为0(0x0)。
如果该exe直接运行,则会失败,并且控制台会显示]
无法加载文件或程序集'System.Windows.Forms,版本= 4.0.0.0'。参考程序集不应该加载执行。它们只能在“仅反射”加载器上下文中加载。 (0x80131058)
未处理的异常。 System.BadImageFormatException:无法加载文件或程序集'System.Windows.Forms,版本= 4.0.0.0,区域性=中性,PublicKeyToken = b77a5c561934e089'。参考程序集不应该加载执行。它们只能在“仅反射”加载器上下文中加载。 (0x80131058)文件名:'System.Windows.Forms,版本= 4.0.0.0,区域性=中性,PublicKeyToken = b77a5c561934e089'---> System.BadImageFormatException:无法加载执行的参考程序集。在DistributeTxtExcel.Program.Main(String [] args)
将以下代码添加到项目文件(.csproj)
<ItemGroup>
<Reference Include="MyAssembly">
<HintPath>path\to\MyAssembly.dll</HintPath>
</Reference>
</ItemGroup>
(来自:https://medium.com/@tonerdo/referencing-a-net-dll-directly-using-the-net-core-toolchain-16f0af46a4dc)