У меня есть решение, которое развертывается с помощью ClickOnce.
Он состоит из приложения, нескольких сборок, на которые есть ссылки. и база данных SQL Server Compact.
Также существует сборка, на которую не ссылается основное приложение, но просто загружается во время выполнения. Эту сборку необходимо развернуть вместе с приложение в том же каталоге, что и двоичные файлы приложения.
Я настроил Visual Studio для копирования сборки "плагина" в папку \ bin \ debug (или \ bin \ release) каталог проекта пользовательского интерфейса после компиляции.
Затем я добавил файл в проект пользовательского интерфейса, не как справочник, а просто как файл. Я установил действие сборки на «Контент», это способом, которым он отображается в диалоговых окнах «Свойства» / «Публикация» проекта пользовательского интерфейса.
Когда я впервые опубликовал приложение, оно работало как шарм. Но потом я обновил сборку плагина, даже дал ему другой номер версии и опубликовал снова, только чтобы обнаружить, что сборка не была обновлена, а первая один когда-либо загруженный все еще использовался. (Даже на чистом компьютере без предварительной установки).
Я покопался и обнаружил, что сборка (LibComposites.dll) скопирована в каталог, в котором приложения clickonce хранят свои двоичные файлы как каталог, в котором хранятся файлы данных.
В обоих случаях это первая опубликованная версия.
В общем, у меня есть приложение, которое ссылается на некоторые сборки:
Control.exe references --> LibLLC.dll, LibDataLayer.dll, LibLLCExtenders.dll
loads at runtime --> LibComposites.dll (which also references LibLLC.dll)
Мне нужно развернуть новую версию LibComposites.dll в тот же каталог как приложение, которое каждый публикует.
Почему до сих пор используется первая опубликованная версия этой сборки
Как я могу принудительно перезаписывать LibComposites.dll при каждой публикации?





Хорошо, у меня была ТАКАЯ проблема. Вот как я это решаю (может быть, не идеальный, но работает.
1) Если ваша dll или файл находится внутри решения, я бы снял его и снова добавил. 2) Зайдите в свойство вашего проекта и выберите «Опубликовать» и «Файлы приложения». Вам нужно, чтобы ваш файл был там и СНОВА выбрать "Включить" (не Авто ...).
После этого вы сможете публиковать с новым. Я не знаю, почему это не работает, если я этого не делаю, но при каждой публикации я должен делать эти шаги, чтобы иметь возможность получить последнюю версию ...
Это помогло :-) Теперь я смог развернуть, спас мою задницу :)
Без проблем;) Всегда рад помочь :)
Позвольте мне понять: вы используете функцию публикации Visual Studio для создания и развертывания пакета ClickOnce?
Удачи с этим.
Вам может быть лучше создание собственных пакетов ClickOnce с помощью Mage.
Я пошел по пути Visual Studio и быстро обнаружил, что это путь к несчастью. Узнайте, как использовать Mage, а затем ознакомьтесь с некоторыми вариантами MSBuild для «автоматизации» этого.
Я совсем забыл про mage, попробовал еще в те дни, когда ClickOnce был настоящим PITA: p Я разберусь с этим.
Я была такая же проблема. Проблема заключалась в том, что у меня были библиотеки DLL в корневом каталоге приложения, и они были «внутри» проекта.
Решение простое, просто исключите файлы DLL из проекта, и эта проблема исчезнет.
Сейчас я попробую это решение ... нужно развернуть новую версию как можно скорее, есть некоторые критические изменения. Спасибо за информацию m8