Зарегистрируйте любую версию сборки на странице ASP .NET - PullRequest
2 голосов
/ 11 марта 2011

Как использовать любую доступную версию сборки на странице ASP .NET?

Например, я использую этот тег перед добавлением элемента управления Crystal Reports на веб-страницу на моем компьютере:

<%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

Однако, если я установлю эту веб-страницу на компьютер с другой версией Crystal Reports, мне придется изменить часть версии атрибута сборки:

<%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

Можно ли как-то избежать этого, указав ASP .NET использовать новейшую доступную версию или указать минимально требуемую версию?

Ответы [ 4 ]

4 голосов
/ 11 марта 2011

Просто отбросьте часть Version=:

<%@ Register Assembly="CrystalDecisions.Web, , Culture=neutral, 
                       PublicKeyToken=692fbea5521e1304"
             Namespace="CrystalDecisions.Web" 
             TagPrefix="CR" %>

Однако это работает только с late binding. Если вы на самом деле компилируете какую-либо из ваших сборок с определенной версией сборки, вам понадобится перенаправление привязки сборки в вашем файле Web.config.

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="CrystalDecisions.Web"
                  publicKeyToken="692fbea5521e1304"
                  />

        <bindingRedirect oldVersion="10.5.3700.0"
                 newVersion="13.0.2000.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
1 голос
/ 11 марта 2011

Вам необходимо использовать раздел assemblyBinding в файле web.config. См. эту статью .

0 голосов
/ 14 октября 2011

Вы должны убедиться, что загружаете правильную версию CR. Поскольку вы используете VS 2010, вам необходимо обратиться к CRforVS_redist_install_64bit_13_0_1.zip (для 64-битной машины) или CRforVS_redist_install_32bit_13_0_1.zip (для 32-битной машины). Эти два - распространяемые пакеты. Вы также можете скачать полный пакет: CRforVS_13_0_1.exe

0 голосов
/ 11 марта 2011

Вы можете просто сделать это:

<%@ Register Assembly="CrystalDecisions.Web, Culture=neutral,
PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

Это позволит вам загрузить любую версию.

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