Папка в bin/debug не копируется в выходной каталог

Я разработал один winform приложение, которое использует geckofx22.0 а также xulrunner, Так что здесь мне нужно скопировать xulrunner папка в корзину так я и сделал, и программа работает круто. Но проблема в том, что когда я публикую этот проект, он не копирует xulrunner папка в выходной директории и вызывает сбой приложения. xulrunner папка содержит некоторые dll файлы и txt который требует, чтобы запустить и инициировать geckofx, Кто-нибудь может помочь в этом? Как я могу сделать, чтобы приложение clickone могло ссылаться на эту папку xulrunner? Я инициализировал папку xulrunner, следуя в моем проекте, и она работала хорошо.

 Gecko.Xpcom.Initialize(AppDomain.CurrentDomain.BaseDirectory + "/xulrunner");

2 ответа

Решение

Скопируйте свой xulrunner папка в проект. После установите свойства для каждого файла в проекте как Build Action в content а также Copy to Output Direcotry в Copy if newer или же Copy always, Затем создайте свое приложение. Когда вы публикуете после этих шагов ваш xulrunner будет развернут в выходной каталог, так что вы можете запустить приложение ClickOnce без каких-либо ошибок.

Вы загрузили внешние пакеты (DLLS) и использовали их в своем проекте.
Когда вы добавляете ссылку на DLL, вы должны установить Copy local = true (если они не находятся в GAC или каким-либо другим способом)

Это гарантирует, что при сборке проекта все указанные библиотеки DLL будут скопированы в выходную папку сборки.

Все ли dll и файлы в вашем загруженном пакете скопированы? Вы должны знать, что если сборщик копирует только DLL-библиотеку, на которую ссылаются, вы можете опубликовать проект с включенными DLL-библиотеками (иначе он потерпит неудачу во время выполнения, когда попытается использовать файл, который не существует в папке).

Другие вопросы по тегам