Ссылка на библиотеку DLL documentformat.openxml.dll версия 2.6.0.0 и documentformat.openxml.dll версия 2.0.5022.0
Я использую openxmlpowertool для чтения файла документа с форматом. Он использует ссылку DocumentFormat.OpenXml.dll версии 2.6.0.0, но для некоторых функций мне нужен DocumentFormat.OpenXml.dll версии 2.0.5022 для справки, если я добавлю DocumentFormat.OpenXml.dll в версии 2.6.0.0 он дает следующее исключение
Исключение в журнале событий:
Сообщение: не удалось загрузить файл или сборку 'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 ' или одна из его зависимостей. Определение манифеста расположенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Тип исключения: System.IO.FileLoadException трассировка стека: at CMS.ImportExport.DataExportHelper.ExportToExcel(набора данных набор данных, стрим) в КМВ.Импортно-экспортный.DataExportHelper. ExportData(формат DataExportFormatEnum, ответ HttpResponse)
Что я уже пробовал:
Я пробовал следующие bindingredirct в Интернете.конфиг,
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="DocumentFormat.OpenXml" /> <bindingRedirect oldVersion="2.0.5022.0" newVersion="2.6.0.0"/> </dependentAssembly> </assemblyBinding>
Я не могу получить publicKeyToken для DocumentFormat.OpenXml 2.6.0 с
C:\Program файлы (x86)\Microsoft Visual Studio 11.0\VC>sn-T D:\DocumentFormat.OpenXml.dll
Дает "D:\DocumentFormat.OpenXml.dll не представляет собой строго именованную сборку", поэтому я не уточнил
Philippe Mori
Вы должны использовать одну версию и развернуть эту версию. Если все совпадает, то это должно сработать. В противном случае это, вероятно, предположение, зависящее от того, насколько старая и новая версии совместимы...
InbarBarkai
Привязки сборки без PublicKeyToken игнорируются.
Каков источник вашего пакета? Я уверен, что один из серверов Microsoft NuGet для подписания.