Использование ScriptManager на странице ASP.NET 3.5 ASPX с EnterpriseLibary 5.0

Я работаю в приложении MVC3, которое ссылается на сборки, использующие версию 5 Microsoft Enterprise Library.

Я занимаюсь исследовательским проектом по использованию ReportViewer для создания отчетов. Я узнал, что ReportViewer нельзя использовать в представлении Razor, поэтому мне нужно использовать страницу ASPX. Страница находится ниже:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="Test.BirthdayReport.BirthdayReport" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Birthday Report</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="100%">                        </rsweb:ReportViewer>
        </div>
        </form>
    </body>
</html>

Чтобы использовать ReportViewer, мне нужно включить ScriptManager, но когда страница загружается, я получаю эту ошибку:

Не удалось загрузить файл или сборку Microsoft.Practices.EnterpriseLibrary.Common, Version = 4.1.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 или одну из его зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Я знаю, что у меня не могут быть сборки EnterpriseLibrary 4.0 и 5.0 в каталоге bin, поэтому я попытался добавить ссылку на версию Microsoft.Practices.EnterpriseLibrary.Common версии 5.0 в проекте, но все равно получаю ту же ошибку.

Как использовать ScriptManager с EnterpriseLibary 5.0?


person scott.korin    schedule 26.10.2012    source источник


Ответы (1)


Еще одна из наших сборок (используемая в веб-приложении) ссылалась на EnterpriseLibrary.Common 5, EnterpriseLibrary.Logging 5, EnterpriseLibrary.Data 4.1 и EnterpriseLibrary.Logging.Database 4.1.

Как только я убедился, что эта сборка ссылается на версию 5.0 для всех этих сборок, моя ошибка прекратилась.

person scott.korin    schedule 29.10.2012
comment
Как вы узнали, какая из них ссылается на EnterpriseLibrary 4.1? У меня такая же проблема, но не все время, поэтому я не мог понять, в чем проблема. - person Gil; 12.03.2013
comment
У нас было несколько проектов в решении, я просто проверил ссылки на каждый проект и нашел его. - person scott.korin; 12.03.2013