Использование ClickOnce с динамически загружаемыми сборками

StackOverflow https://stackoverflow.com/questions/1406958

  •  05-07-2019
  •  | 
  •  

Вопрос

В моем приложении я загружаю некоторые сборки динамически, в зависимости от того, что выбрал пользователь. Естественно, они не упоминаются в проекте. При публикации с помощью ClickOnce эти сборки не включаются в пакет.

Вопрос в том, можно ли обмануть издателя ClickOnce, чтобы использовать некоторые другие файлы, на которые нет ссылок в проекте?

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

Решение

Я предполагаю, что вы используете Visual Studio для публикации развертывания.

Если вы хотите продолжить в том же духе, вам нужно будет либо добавить файлы в качестве ссылок, либо добавить их как контент в проект. В свойствах стартового проекта перейдите на вкладку публикации, Файлы приложения .. и убедитесь, что файл включен.

Другой вариант - создать и опубликовать манифесты однократного щелчка за пределами Visual Studio с помощью mageui.exe (или mage.exe, если вы хотите работать из командной строки).

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

Возможно, вы не ссылаетесь на сборку, потому что не хотите, чтобы ее развертывал ClickOnce, а позже загружали динамически. Но ты не обязан это делать. Ссылка обычно.

Существует способ динамической загрузки сборки, который описан здесь: http://msdn.microsoft.com/en-us/library/ak58kz04.aspx

Проблема в том, что это ручной метод, использующий mage / MageUI для отметки как необязательный. Вы можете сделать это в Visual Studio в Свойства проекта / Публикация / Файлы приложений, и в строке сборки, которую вы хотите загрузить, программно измените группу загрузки на нужное имя. В примере со ссылкой создайте новый с именем " ClickOnceLibrary ".

Альтернативой MageUI является ManifestManagerUtility для ClickOnce .

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