如果这是一个非常幼稚的问题,我很抱歉。我曾经使用 .Net 4.5 写了一个 Windows 表单应用程序。最近,我想将其移植到使用 VS Code 的 .Net Standard 2.0 应用程序。
存在一些问题,如缺少库和类(System.ServiceModel 是最大的漏洞),但我已成功构建了该应用程序。然而,在运行它时,我看到以下错误:
未处理的异常:System.BadImageFormatException:无法加载文件或程序集“System.Windows.Forms,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”。参考程序集不应该被加载以执行。它们只能在反射上下文中加载。(HRESULT 异常:0x80131058)---> System.BadImageFormatException:无法为执行加载引用程序集。
如果有用的话,这是项目文件:
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<PackageReference Include="log4net" Version="2.0.8" />
<PackageReference Include="Microsoft.CSharp" Version="4.4.0" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
<PackageReference Include="NUnit" Version="3.8.1" />
<PackageReference Include="System.CodeDom" Version="4.4.0" />
<PackageReference Include="System.Configuration" Version="2.0.5" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.4.0" />
<PackageReference Include="System.Net.Http" Version="4.3.3" />
<PackageReference Include="System.ServiceModel" Version="1.0.0" />
<PackageReference Include="System.ServiceModel.Security" Version="4.4.0" />
<PackageReference Include="System.Windows.Forms" Version="4.0.0.0" />
</ItemGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
</Project>
有没有一些方法可以使用System.Windows.Forms库来运行应用程序,或者我应该用不同的库替换它以适用于.Net Standard 2.0?