Crystal reports Crystal报告Visual Studio 2019中的运行时问题

Crystal reports Crystal报告Visual Studio 2019中的运行时问题,crystal-reports,Crystal Reports,我在Visual Studio 2019中有一个.NET Framework 4.5项目(C语言)。 我想用水晶报告 当我写reportdocumentr=newreportdocument()时此操作将引发此异常: Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. Impossibile trovar

我在Visual Studio 2019中有一个.NET Framework 4.5项目(C语言)。 我想用水晶报告

当我写
reportdocumentr=newreportdocument()时此操作将引发此异常:

Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. Impossibile trovare il file specificato.

如何解决此问题?

尝试将其添加到App.config文件:

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

在过去,“Crystal Reports for.NET Framework 4.0”用于以2.0 CLR为目标,无论出于何种原因。他们已经在以后的版本中修复了这个问题,但它可能与您的问题有关。您还需要验证是否安装了.NETFramework4.x(我假设您安装了)。您还可以再次检查项目是否有对
System.Windows.Forms
的引用,如果没有,请尝试添加一个,看看是否有帮助


如果这些方法不起作用,请考虑从SAP安装最新的Service PACK,用于您正在使用的水晶报表的版本。我使用的Crystal版本在SP 30上。这些库现在实际上以4.x框架为目标。我不知道您使用的版本,因此我无法提供直接链接,但您应该能够在SAP网站上搜索该版本。

我应该在哪里添加该代码?我没有App.config文件…我的解决方案由一个.NET core 3.1 API项目和一个.NET Framework 4.5类库组成。报告在类库中。app.config设置不适用于.NET Core。Crystal Reports不支持.NET Core,这将成为一大障碍。为了共享代码,库必须是.NET标准的(即使在编译时没有抱怨,也无法进行Windows.Forms调用)。这意味着你可能不得不退回到更不传统、更脆弱的方法。如果它是一个web站点,您可以滚动运行在classic.NET framework上的第二个API站点,并从库中调用它。每个选项都将涉及到操纵某种类型的互操作。