ClickOnce и GAC - PullRequest
       40

ClickOnce и GAC

5 голосов
/ 15 февраля 2010

У меня есть приложение WinForms .net 3.5. Я развернул его с помощью clickonce во внутренней сети с несколькими клиентскими компьютерами. Я публикую приложение в интрасети (http://desbiz/CarwinClickOnce).

В среде разработчика (мой компьютер) мое приложение использует сборки GAC, например, Fk.Security.Common.dll v.1.0.0.0.

На вкладке «Публикация» -> «Файлы приложения» в «Свойствах приложения WinForms csproj» задаю значение «Включить» для ссылки Fk.Security.Common.dll.

Теперь

некоторые клиентские машины имеют ссылку Fk.Security.Common.dll v.1.0.0.0 в GAC

другие клиенты НЕ имеют ссылку Fk.Security.Common.dll v.1.0.0.0 в GAC

Если клиент устанавливает приложение winform с помощью ClickOnce, возникают следующие проблемы:

1.) Если ссылка Fk.Security.Common.dll v.1.0.0.0 находится в GAC, ссылка Fk.Security.Common.dll v.1.0.0.0, включенная в ClickOnce, не применяется.

Проблема: возможно, код компиляции в ссылке Fk.Security.Common.dll v.1.0.0.0, включенной в ClickOnce, является более обновленным, чем код в ссылке Fk.Security.Common.dll v.1.0.0.0 в GAC

Решение: удалите ссылку Fk.Security.Common.dll v.1.0.0.0 в GAC и установите в GAC ссылку Fk.Security.Common.dll v.1.0.0.0, включенную в публикацию ClickOnce Publish ...

(как я могу удалить / установить сборки в GAC с помощью ClickoNce ????)

2.) Если ссылка Fk.Security.Common.dll НЕ находится в GAC, применяется ссылка Fk.Security.Common.dll v.1.0.0.0, включенная в ClickOnce. Нет проблем.

примечание: пользователь на клиентском компьютере имеет права администратора.

Любое решение по этому вопросу ??

Заранее спасибо.

Ответы [ 3 ]

6 голосов
/ 15 февраля 2010

ClickOnce не может установить или удалить файлы в GAC.

Вы написали Fk.Security.Common.dll? Если это так, увеличьте номер версии (v.1.0.0.1) и перекомпилируйте его. Когда вы ссылаетесь на него, присвойте свойству «Конкретная версия» значение «Истина», а свойству «Версия» - номер новой версии. Это должно решить вашу проблему, не удаляя старую сборку из каждого GAC.

3 голосов
/ 20 ноября 2012

В вашем проекте Visual studio щелкните ссылку на сборку (Fk.Security.Common.dll) и в окне свойств установите для свойства Копировать локальный значение True (я полагаю, вы используете ClickOnce)

2 голосов
/ 16 апреля 2014

Невозможно установить или запустить приложение. Приложение требует чтобы сборка Telerik.Windows.Data Version 2012.1.215.40 была установлена сначала в глобальном кэше сборок (GAC)

У меня была такая же ошибка, когда я забыл изменить конфигурацию решения с «Отладка» на «Выпуск» в Visual Studio. Перед публикацией.

...