Не удалось загрузить файл или сборку 'log4net, Version = 1.2.10.0, Culture = neutral, PublicKeyToken = 692fbea5521e1304'
Я использую vs2010 и хрустальную версию отчета 13.0.2000.0, 64-битную версию 64-битного кристалла.
мое приложение работает отлично на машине разработки, но когда я развертываю на сервере
получение этой ошибки
Не удалось загрузить файл или сборку 'log4net, Version = 1.2.10.0, Культура = нейтральная, PublicKeyToken = 692fbea5521e1304 'или одна из ее зависимостей. Система не может найти указанный файл.
Описание: Необработанное исключение произошло во время выполнения текущий веб-запрос. Просмотрите трассировку стека информацию об ошибке и где она возникла в коде.
Сведения об исключении: System.IO.FileNotFoundException: не удалось загрузить файл или сборка 'log4net, Версия = 1.2.10.0, Культура = нейтральная, PublicKeyToken = 692fbea5521e1304 'или одна из его зависимостей. система не может найти указанный файл.
Источник ошибки:
CR: CrystalReportViewer ID = "CrystalRportViewrRregistration" runat = "server" AutoDataBind = "true"
и я проверил сборку GAC. Я не нашел log4net.dll, и даже в моей системе я искал все и пробовал различные вещи, такие как изменение версии исполнения и загрузка лока lo4net из apache, но не повезло.
Ответы
Ответ 1
Чтобы настроить IIS для запуска 32-разрядных приложений, выполните следующие действия:
Open IIS
Go to current server – > Application Pools
Select the application pool your 32-bit application will run under
Click Advanced setting or Application Pool Default
Set Enable 32-bit Applications to True
Если эта опция недоступна для вас, выполните следующие действия:
Go to %windir%\system32\inetsrv\
Execute the appcmd.exe tool:
Ответ 2
Если вы не видите log4net.dll в %systemdrive%\windows\assembly\
на компьютере, на котором вы пытаетесь его развернуть, скорее всего, вы не смогли успешно установить распространяемое для Crystal Reports для .Net Framework 4.0
Установите (или переустановите) последний пакет обновления http://scn.sap.com/docs/DOC-7824 (SAP Crystal Reports, версия разработчика для обновлений Microsoft Visual Studio и загрузок в режиме реального времени)
Этот дистрибутив среды выполнения должен добавить log4net в GAC вместе с кучей dll
Ответ 3
Убедитесь, что установлена версия для правильной платформы (32-разрядная или 64-разрядная версия). Я столкнулся с такой же проблемой, когда установил 32-разрядную рабочую среду на 64-битной машине. Установка правильной, то есть 64-разрядной, устранила проблему.
Ответ 4
Я столкнулся с такой же проблемой (VS 2015), но мое приложение работает под 32-битным пулом приложений. Так что хотя машина 64-битная. Я установил 32-битную установку, и она работает.
Ответ 5
Я пробовал все это, и это не сработало для меня.
Я просто установил SAPCrystalReport на своем компьютере и теперь работает.
Ответ 6
Так что в общем случае dll должен быть размещен в двух местах:
- GAC (может иметь 32 и 64 версии DLL)
- папка вашего проекта bin
Таким образом, вам просто нужно добавить ссылку на log4net.dll. (В вашем случае 32-битный с PublicKeyToken = 692fbea5521e1304)
Вы можете достичь этого,
Ответ 7
Для этой конкретной ошибки я установил версию 20 Crystal Report, и она решила мою проблему: https://www.tektutorialshub.com/crystal-reports/crystal-reports-download-for-visual-studio/#Service-Pack-16
Вы также можете скачать файл самостоятельно, используя следующую ссылку https://www.nuget.org/api/v2/package/log4net/1.2.10, переименовать файл в .zip и распаковать его.