System.Web.UI.DataVisualization.Charting.Grid существует дважды в GAC

Я обновил веб-приложение с .NET 3.5 до .NET 4, и я получаю это исключение при просмотре страницы, использующей элемент управления Chart:

Тип 'System.Web.UI.DataVisualization.Charting.Grid' существует как в 'c: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ System.Web.DataVisualization \ v4.0_4.0.0.0 __... \ System .Web.DataVisualization.dll 'и' c: \ Windows \ assembly \ GAC_MSIL \ System.Web.DataVisualization \ 3.5.0.0 __... \ System.Web.DataVisualization.dll '

Как я могу заставить это работать, используя элемент управления 4.0? Спасибо.


person hmqcnoesy    schedule 03.03.2011    source источник


Ответы (3)


Вы можете использовать перенаправление сборки.

Например (убедитесь, что publicKeyToken правильный, у меня нет сборки на этом компьютере):

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="System.Web.DataVisualization"
                              publicKeyToken="32ab4ba45e0a69a1"
                              culture="neutral" />
            <bindingRedirect oldVersion="3.5.0.0"
                             newVersion="4.0.0.0"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>
person Oded    schedule 03.03.2011

1) Обновите все ссылки, которые указывают на элемент управления 3.5 Chart в web.config, до версии 4:

tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" ... Version=4.0.0.0 ...

add path="ChartImg.axd" verb="GET,HEAD,POST" ... Version=4.0.0.0 ...

add name="ChartImageHandler" ... Version=4.0.0.0 ...

2) Удалите все библиотеки диаграмм из каталога Bin, потому что они уже включены в платформу .NET 4.

person Gianpiero    schedule 25.12.2011

Удалите один из них, один находится в GAC, а другой - в вашем проекте, я думаю.

Возможно, у вас есть ссылка в вашем проекте, которая осталась после того, как вы использовали. NET 3.5? Или другие DLL, которые его используют: =)

person eriksv88    schedule 03.03.2011