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