Миграция ASP.NET с 2005 по 2008 год с использованием кристаллического отчета - PullRequest
2 голосов
/ 16 мая 2011

Веб-сайт ASP.NET разработан с использованием версии VS.NET 2005 и использует Crystal Reports.
Теперь то же самое хочет обновить до VS.NET 2008, но это показывает ошибки как ниже:

Ошибка 469 Не удалось загрузить файл или сборку 'CrystalDecisions.CrystalReports.Engine, версия = 10.2.3600.0, Культура = нейтральная, PublicKeyToken = 692fbea5521e1304 'или одна из ее зависимостей. Система не может найти указанный файл. C: \ Documents и настройки \ Администратор \ Рабочий стол \ SVSS \ ssvs10022010123 \ Web.Config 29

В файле web.config код написан так, как и к этой ошибке.

<compilation debug="true">
        <assemblies>
            <add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.ReportSource, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.Shared, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.Enterprise.Framework, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.Enterprise.InfoStore, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>

Crystal Reports уже установлен (который поставляется по умолчанию с VS2008). Нужно ли менять ссылку?
Пожалуйста, объясните мне, как решить эту проблему.

Ответы [ 2 ]

3 голосов
/ 07 марта 2012

Лучшее решение - установить ту же среду выполнения на сервере.
В любом случае, вы можете использовать этот XML в вашем app.config или web.config:

  <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304" culture="neutral"/>
        <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304" culture="neutral"/>
        <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304" culture="neutral"/>
        <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/>
      </dependentAssembly>
      <dependentAssembly>
        ...
    </assemblyBinding>
  </runtime>

где oldVersion - версия, используемая для разработки, а newVersion - версия, установленная на сервере

1 голос
/ 16 мая 2011

Это связано с тем, что версия отчета Crystal изменяется в .NET 2008.

Вам следует заменить строку старой версии новой версией, такой как эта Версия от 10.2.3600.0 до Версия = 10.5.3700.0

Альтернативное решение для поиска точной версии отчета Crystal в вашей системе:

Щелкните правой кнопкой мыши папку Project и выберите ссылку.Теперь выберите все ссылки на отчеты о кристаллах и нажмите Ok.Он должен автоматически обновить файл web.config с правильной версией.(Вы можете удалить старый ссылочный код отчета Crystal в файле web.config).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...