Пользователи не могут установить приложение ClickOnce. Ошибка: «Файл NLog.dll не является допустимым файлом Portable Executable (PE)». Он отлично работает на моей машине, но у меня установлен nLog. Это невозможно для клиентских машин. Любые идеи, как заставить это работать?Развертывание NLog с помощью приложения ClickOnce
ответ
Если ваши сборки NLog развернуты в GAC, вы не можете (просто) включить это в настройку ClickOnce. Попробуйте развернуть их как локальные библиотеки DLL. Если это невозможно, вам понадобится отдельная программа установки (или MSI) для развертывания NLog.
Проверьте свой вариант сборки и убедитесь, что NLog.dll включен в «Файлы приложений», чтобы он находился в «группе загрузки»/требуется.
Это, скорее всего, проблема, поскольку NLog должен быть просто другой dll, которую вы можете включить. Log4Net работает таким образом. –
Спасибо, но dll действительно загрузится, это просто дает ошибку. – Brian
Добавьте dll в свой проект и установите BuildAction = None и «скопируйте в выходной каталог» как «не копировать».
Удалить свою ссылку на NLog в своем проекте. Повторно добавьте ссылку и укажите ее в DLL, добавленную в проект. В свойствах ссылки установите для параметра «Копировать локальное» значение «true».
Теперь, когда вы запустите приложение, оно укажет на локальную версию, а при развертывании приложения оно развернет локальную версию и укажет на нее.
Это работает для многих сторонних DLL, но не для всех. Лучше всего попробовать это.
Спасибо, но DLL действительно загружается, она просто дает ошибку. – Brian
Как это указано в вашем проекте? Мне нужно будет помять память, я что-то помню о переносимой ошибке выполнения ... Вы изменили свой проект, чтобы ссылаться на него так, как я сказал здесь? – RobinDotNet
Вот сообщение с форума MSDN - посмотрите, поможет ли это вам вообще: http://social.msdn.microsoft.com/forums/en-US/winformssetup/thread/dc47dac1-6eb2-4533-a119-c1d87a36c4a5/ – RobinDotNet
Я поместил все данные конфигурации NLog в файл App.config вместо файла NLog.config, и он работал для меня после развертывания с помощью ClickOnce. На развернутое приложение не было ошибок и ведение журнала.
Работает для меня тоже. – Pat
Я нашел ответ на этот вопрос, когда ваш NLog.config
не будет скопирован в вашу программу, если он установлен с использованием ClickOnce
.
Вы должны выбрать файл NLog.config
в вашем Project
с помощью Solution Explorer
и установите его Properties
следующим образом:
- Сложение Действие: Содержание
- Копировать в выходной каталог: Копировать всегда
Теперь при развертывании с использованием ClickOnce
файлы должны быть b e скопировал также! :)
- 1. Развертывание System.Net.Http.dll с помощью ClickOnce
- 2. Развертывание приложения ClickOnce с поддержкой System.AddIn
- 3. Развертывание ClickOnce
- 4. Возможно ли развертывание собственного приложения Delphi с помощью ClickOnce
- 5. Развертывание ClickOnce - невозможно установить
- 6. Развертывание приложения ClickOnce на нескольких серверах
- 7. Проблема Развертывание COM-компонентов с помощью ClickOnce
- 8. Локальный ReportViwer 2012 Развертывание с помощью ClickOnce
- 9. Запретить развертывание отладочной сборки с помощью ClickOnce
- 10. Развертывание ClickOnce - Исключение развертывания
- 11. развертывание clickonce с необходимыми условиями
- 12. Развертывание ClickOnce с общими ресурсами
- 13. Развертывание DLL ClickOnce
- 14. Частичное развертывание Clickonce
- 15. Развертывание ClickOnce для производства
- 16. Развертывание ClickOnce для разных конфигураций
- 17. Развертывание ClickOnce «System.IO.IOException»
- 18. Развертывание приложения WPF с использованием ClickOnce и Team Build
- 19. Автоматическое развертывание clickOnce с NAnt
- 20. Развертывание конфигурации ClickOnce - файлы конфигурации
- 21. Развертывание Microsoft.Bcl.Async ж/ClickOnce
- 22. ClickOnce развертывание и загрузка
- 23. Получить имя приложения ASP.NET с помощью NLog
- 24. Сделать развертывание ActiveX с помощью ClickOnce для Web
- 25. Развертывание WPF (ClickOnce) через Интернет
- 26. ClickOnce Развертывание приложения с более чем одним исполняемым файлом
- 27. ClickOnce развертывание приложения WPF с базой данных SQL Server Compact
- 28. развертывание сетевого реактора и clickonce
- 29. Возможно ли автоматизировать развертывание ClickOnce?
- 30. Задержка с помощью clickonce
Чтобы продолжить ответ Хенка, в установке nlog должна содержаться не-GACed dll где-нибудь, которую вы можете использовать, или вы можете загрузить ее со своего сайта (часто в zip-файле, а не в установщик). –
Мы также используем NLog без проблем (слишком много), но наши DLL развертываются локально с приложением. – Newtopian