Вопрос

У меня есть решение, которое развертывается с использованием ClickOnce.

Он состоит из приложения, нескольких сборок, на которые есть ссылки и база данных SQL Server Compact.

Существует также сборка, на которую не ссылается основное приложение, но просто загружается во время выполнения. Эта сборка должна быть развернута вместе с приложение, в том же каталоге, что и двоичные файлы приложения.

Я настроил Visual Studio для копирования плагина " сборка в \ bin \ debug (или \ bin \ release) каталог проекта пользовательского интерфейса после компиляции.

Затем я добавил файл в проект пользовательского интерфейса, не как ссылка, а просто как файл. Я установил действие сборки на «Содержимое», это как это показано в диалоговых окнах «Свойства / публикация» проекта пользовательского интерфейса.

Когда я впервые опубликовал приложение, оно работало как шарм. Но потом я обновил сборку плагина, даже дал ему другой номер версии и опубликован снова, только чтобы найти сборку не была обновлена, но первый один из когда-либо загруженных еще использовался. (Даже на чистом компьютере без предварительной установки).

Я немного покопался и обнаружил, что сборка (LibComposites.dll) была скопирована в каталог, в котором приложения clickonce хранят свои двоичные файлы в качестве каталога, в котором хранятся файлы данных.

В обоих случаях первая опубликованная версия.

В общем, у меня есть приложение, которое ссылается на некоторые сборки:

  

Ссылки Control.exe - >   LibLLC.dll, LibDataLayer.dll,   LibLLCExtenders.dll
  загружает в   время выполнения - > LibComposites.dll (который   также ссылается на LibLLC.dll)

Мне нужно развернуть новую версию LibComposites.dll в том же каталоге как приложение, которое каждый публикует.

Почему первая в мире опубликованная версия этой сборки все еще используется?

Как заставить файл LibComposites.dll перезаписываться при каждой публикации?

Это было полезно?

Решение

Хорошо, у меня была такая же проблема. Вот как я это решаю (не может быть идеальным, но это работает.

1) Если ваша dll или файл находится внутри решения, я бы снял его и добавил его заново. 2) Зайдите в свойство вашего проекта и выберите «Опубликовать» и «Файлы приложения». Вам нужно, чтобы ваш файл был там, и выберите ОПЯТЬ " Включить " (а не Авто ...).

Чем вы сможете публиковать с новым. Я не знаю, почему это не работает, если я не делаю этого, но при каждой публикации я должен выполнить эти шаги, чтобы получить последнюю версию ...

Другие советы

Позвольте мне сделать это правильно: вы используете функцию публикации Visual Studio для создания и развертывания пакета ClickOnce?

Удачи с этим.

Возможно, вам лучше создавать собственные пакеты ClickOnce с помощью Mage .

Я начал путь по Visual Studio и быстро обнаружил, что это путь к страданию. Узнайте, как использовать Mage, а затем посмотрите на некоторые опции MSBuild для «автоматизации». это.

У меня была такая же проблема. Проблема заключалась в том, что у меня были dll в корневом каталоге приложения, и они были в " в проекте.

Решение простое, просто исключите файлы dll из проекта, и эта проблема исчезнет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top