System.Web.UI.DataVisualization.Charting.Grid существует дважды в GAC - PullRequest
3 голосов
/ 04 марта 2011

Я обновил веб-приложение с .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'and' c: \ Windows \ assembly \ GAC_MSIL \ System.Web.DataVisualization \ 3.5.0.0 __... \ System.Web.DataVisualization.dll '

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

Ответы [ 3 ]

4 голосов
/ 25 декабря 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 framework

3 голосов
/ 04 марта 2011

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

Например (убедитесь, что 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>
0 голосов
/ 04 марта 2011

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

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

...