CS0433:类型"CrystalDecisions.Web.CrystalReportViewer"存在于两者中



在运行水晶报告时出现以下错误

CS0433:类型'CrystalDecisions.Web。CrystalReportViewer'存在于这两个"c: windows 会议 GAC_MSIL CrystalDecisions.Web 10.5.3700.0__692fbea5521e1304 CrystalDecisions.Web.dll"one_answers"c:windows microt.net Frameworkv2.0.50727Temporary ASP"。网文件根 f8ac550c d919c1f5 组装 dl3 002 21892670 d6cd3_f2bfc501 CrystalDecisions.Web.DLL

我从框架2.0转换到3.5后得到上述错误。如果我正在创建新的web应用程序,我没有得到任何错误。

最后我发现…问题是,在bin文件夹中有版本10.2.51014.0的CrystalDecisions.Web.dll,而我正在添加参考,我正在添加10.5.3700.0。所以我已经从bin文件夹中删除了dll ..现在它工作正常..

谢谢

如果您在Visual Studio 2013 (dotNET 4.0或4.5)中编译旧的Crystal Report Viewer dotNET项目(2.0或3.5)并得到相同的错误,我的解决方案是在web中指定。配置Crystal dll的绑定重定向到特定版本。更多信息请访问:
MSDN:重定向程序集版本

Prerequsite:从SAP支持页面安装SAP Crystal Reports, Microsoft Visual Studio的开发人员版本,支持包14 - v.13.0.14.1720

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="CrystalDecisions.Web" publicKeyToken="692FBEA5521E1304"/>
    <!-- Assembly versions can be redirected in app, 
      publisher policy, or machine configuration files. -->
    <bindingRedirect oldVersion="10.0.0.0-12.0.0.0" newVersion="13.0.2000.0"/>
  </dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692FBEA5521E1304"/>
    <!-- Assembly versions can be redirected in app, 
      publisher policy, or machine configuration files. -->
    <bindingRedirect oldVersion="10.0.0.0-12.0.0.0" newVersion="13.0.2000.0"/>
  </dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692FBEA5521E1304"/>
    <!-- Assembly versions can be redirected in app, 
      publisher policy, or machine configuration files. -->
    <bindingRedirect oldVersion="10.0.0.0-12.0.0.0" newVersion="13.0.2000.0"/>
  </dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692FBEA5521E1304"/>
    <!-- Assembly versions can be redirected in app, 
      publisher policy, or machine configuration files. -->
    <bindingRedirect oldVersion="10.0.0.0-12.0.0.0" newVersion="13.0.2000.0"/>
  </dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.Controllers" publicKeyToken="692FBEA5521E1304"/>
    <!-- Assembly versions can be redirected in app, 
      publisher policy, or machine configuration files. -->
    <bindingRedirect oldVersion="10.0.0.0-12.0.0.0" newVersion="13.0.2000.0"/>
  </dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.DataDefModel" publicKeyToken="692FBEA5521E1304"/>
    <!-- Assembly versions can be redirected in app, 
      publisher policy, or machine configuration files. -->
    <bindingRedirect oldVersion="10.0.0.0-12.0.0.0" newVersion="13.0.2000.0"/>
  </dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692FBEA5521E1304"/>
    <!-- Assembly versions can be redirected in app, 
      publisher policy, or machine configuration files. -->
    <bindingRedirect oldVersion="10.0.0.0-12.0.0.0" newVersion="13.0.2000.0"/>
  </dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

尝试删除两个副本并重新安装运行时引擎以清除所有这些。

我是一名web程序员,我在2013版和水晶报告中工作。我只是在解决这个问题。

首先你去你的asp.net项目,然后点击bin文件夹,然后你查看水晶报告DLL保存在这里。删除所有水晶报表dll在bin文件夹中,然后重启项目。就是这样。

管理员应该删除错误的答案,合并所有具有相同问题的帖子,只保留正确的答案

对于这个水晶报告多版本问题在编译时是,在项目中搜索不需要的版本参考,例如搜索13.5.2200.0并删除所有这些行,同时从项目的bin文件夹中删除不需要的版本的DLL。

相关内容