2016-10-18 9 views
-2

Я понимаю, как эта проблема возникает, и я уверен, что это еще одна dll, которая нуждается в более старой версии «Microsoft.ReportViewer.WebForms», и я предполагаю, «Microsoft.ReportViewer.Common».Не удалось загрузить файл или сборку «Microsoft.ReportViewer»

Прежде чем это обозначить как дубликат, ответы на этот вопрос просто скажут, чтобы найти оскорбительную DLL и «иметь дело с ней».

Что именно я делаю, чтобы позволить злоумышленнику использовать старую сборку, сохраняя существующую в моем проекте?

Точная ошибка:

Could not load file or assembly 'Microsoft.ReportViewer.WebForms, 
Version=8.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a' 
or one of its dependencies. 
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 
+1

Возможный дубликат [Не удалось загрузить файл или сборку «Microsoft.ReportViewer.Common, Version = 11.0.0.0] (http://stackoverflow.com/questions/22253607/could-not-load-file-or-assembly -microsoft-reportviewer-common-version-11-0-0-0) – MethodMan

+0

Я думаю, что вы можете установить Runtime ReportViewer из nuget –

+0

Так что я установил Runtime из «дублированного вопроса», все еще получил ошибку. –

ответ

1

Вы не можете использовать 2 версии одного и того же DLL в проекте. Возможно, вы ссылаетесь на версию A библиотеки DLL непосредственно в своем проекте, но эта другая ссылка сама ссылается на версию B библиотеки DLL. В этом случае у вас нет другого выбора, кроме как удалить ссылку со ссылкой (вложенной ссылкой) или ввести версию, которую хочет использовать вложенная ссылка, и использовать это.

Одна вещь, которую я нахожу, помогает в целом в том, что для свойств моих ссылок на проект я устанавливаю «Специфическую версию» на true. Это поможет облегчить приложение, идущее в GAC, и получить более новую версию DLL, чем вы хотите.

Смежные вопросы