水晶报表出现异常

8

我正在开发一个应用程序,它使用Visual Studio 2013 Professional和SAP Crystal Reports进行报告。我从SAP网站下载并安装了该软件包。使用向导准备报告(这部分工作正常)。问题在于,如果我按照源代码中的步骤操作:

myCrystalReport.SetDataSource(myDataSet);

myDataSet已经填充了所需的数据。显示的错误如下:

未处理的异常类型 'System.IO.FileNotFoundException' 在 mscorlib.dll 中发生

附加信息: 无法加载文件或程序集 'file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll' 或它的一个依赖项。

在安装过程中,dotnet1文件夹未被创建。只有文件夹dotnet。 请问有人知道如何解决这个问题吗?

谢谢。


你尝试过卸载Crystal Reports并在不同的路径重新安装吗? - Kushan Randima
Kushan,我试过了。而且在安装过程中没有对话框,我可以选择安装目录。但是我尝试卸载它,然后再次安装。结果仍然是相同的错误。 - Maerorek
你可以尝试更改.NET框架版本吗?4.5是我的首选。在这之前请备份一下。因为有时候它可能会破坏解决方案。 - Kushan Randima
Kushan,谢谢你的建议,但是这个解决方案和其中所有项目都基于.NET 4.5.1。 - Maerorek
可能是SetDataSource中的Crystal Reports错误的重复问题。 - NightOwl888
4个回答

32

我曾经遇到过完全相同的问题。我的解决方案是将以下xml添加到<configuration>级别的app.config文件中:

<system.net>
  <defaultProxy>
    <proxy usesystemdefault="False" />
  </defaultProxy>
</system.net>
<startup useLegacyV2RuntimeActivationPolicy="true">
   <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

另请参阅:


你能解释一下你是如何找到解决方案的,以及为什么会出现这个错误吗? - Vahid Ghadiri
我不知道为什么会出现这个错误,但我通过谷歌搜索找到了解决方案。我使用的来源都列在我的原始答案中的“另请参阅”部分。 - Richard Holyoak

5
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
</startup>
</configuration>

由于混合模式程序集已更改,因此会出现此问题,建议您将上述代码放入app.config文件中。

3
您需要在app.config中使用下面的代码,并且在项目属性中将.net框架版本设置为4或4.5。
<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

这个问题已经被现有的答案很好地解决了。 - KyleMit

0

所有以上的解决方案在我的项目中都无法工作,应用程序会进入断点模式。我通过在 app.config 文件的 configuration 标签内添加以下行来解决这个问题。

<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接