у нас есть приложение, написанное на .NET 4.0, которое использует этот SAP Crystal Reports. В то время как та же сборка (x86) отлично работает в Windows 2003/2008 (оба x86/x64) с установленной платформой .NET 4.0 (x86) и установленными средами выполнения CrystalReports (скачанными со страниц SAP http://scn.sap.com/docs/DOC-7824), используя версию 13.0.1.x (32bit_13_0_1.msi).
Когда то же самое установлено на сервере MS 2012 (x64), уже предустановлен .NET framework 4.5, поэтому я не смог установить .NET 4.0, однако похоже, что он обратно совместим, потому что приложение работает правильно , за исключением части Crystal Reports, где приложение создает исключение.
Не удалось загрузить файл или сборку «CrystalDecisions.CrystalReports.Engine, версия 10.5.3700.0, культура=нейтральная, PublicKeyToken=blahblah» или одну из ее зависимостей. Системе не удается найти указанный файл.
Конечно, среды выполнения установлены, но по какой-то причине наше приложение не может распознать эти библиотеки DLL. Лично я не думаю, что это проблема сборки, так как он работает правильно с той же конфигурацией на сервере 2003/2008.
У нас установлена только релизная версия, поэтому нет доступных опций отладки и не установлен VS.
По сути, мы просто проводим некоторые тесты, правильно ли работает приложение на сервере 2012, но решить эту проблему кажется невозможным. Я провел часы в Google безрезультатно. Так что любая идея, что проверить, высоко ценится :)
Спасибо, Томас.
Редактировать
Решение: установить старые среды выполнения 2008 года.
Основная причина: на нашей сборочной машине установлены обе среды выполнения (нам также необходимо поддерживать более старые версии). В файлах proj сборки CR не привязаны к конкретной версии, только по имени. Таким образом, в процессе сборки использовалась самая низкая соответствующая сборка от GAC, и, следовательно, также необходимо было установить CR 2008. Решение состоит в том, чтобы ссылаться на сторонние сборки в файлах проекта также по версии, чтобы принудительно использовать более новые.