程序集冲突Microsoft.ReportViewer.WebForms

时间:2012-12-28 12:41:50

标签: asp.net

对已发布的应用程序运行更新后,出现错误:

Parser Error Message: Could not load file or assembly 'Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

来源错误:

Line 1:  <%@ Page Title="" Language="C#" MasterPageFile="~/XXX/Pages/MainMaster.Master" AutoEventWireup="true"  
Line 2:  CodeBehind="Report.aspx.cs" Inherits="xxx.yy.cc.tt.Pages.Reports.Report" %><%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

我还没有将其更新为10.0 - &gt;它应该是9.0。在web.config中为9 ..对于在同一服务器上运行的其他应用程序,它也是9.0。所以我想知道,在哪里可以获得搜索10.0版本的请求命令?

当我使用Visual Studio 2012进行开发时,我认为它错误地在某个阶段自动完成。但是,由于我是初学者,我不知道在哪里搜索“自动”修改的配置。

Web.config的复制粘贴:

<compilation debug="false" defaultLanguage="c#" targetFramework="4.0">
        <assemblies>
            <add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        </assemblies>
        <buildProviders>
            <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </buildProviders>
    </compilation>

    <httpHandlers>
        <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
    </httpHandlers>

同样奇怪的是,如果我运行相同的版本,我在我的本地机器上更新它。

5 个答案:

答案 0 :(得分:3)

陷入类似的问题 解: - 打开引用&#39; Microsoft.ReportViewer.WebForms&#39;的项目上的引用选项卡。 - 选择引用 - Microsoft.ReportViewer.WebForms,右键单击并从上下文菜单中选择属性选项。 - 在Properties选项卡上,确保Copy to local设置为True。

答案 1 :(得分:1)

从项目中删除引用,从Microsoft.ReportViewer.WebForms删除Microsoft.ReportViewer.Commonweb.config的所有节点,然后再添加引用。编译,它应该全部好

答案 2 :(得分:1)

在生产服务器中: 1。安装reportviewer.exe版本10。 第2位。停止并启动用于您的应用程序的iis池。

这些步骤适用于ws2003和asp.net 4.0

答案 3 :(得分:1)

我刚从web.config文件中删除了程序集的行,它对我来说很好.... :)

答案 4 :(得分:0)

检查以下各个部分的配置文件:

<compilation ...>
      <assemblies>
        <add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
 </assemblies>

  <buildProviders>
    <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </buildProviders>
</compilation>
.
.
<httpHandlers>
      <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
        validate="false" />
 </httpHandlers>

这些可以指10,但应该是9。