如何从.Net Core将内置程序集添加到VS Code中的C#项目中

问题描述 投票:0回答:1

如何在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)

c# visual-studio-code .net-assembly
1个回答
0
投票

将以下代码添加到项目文件(.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

© www.soinside.com 2019 - 2024. All rights reserved.