У меня есть приложение 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. Нет проблем.
примечание: пользователь на клиентском компьютере имеет права администратора.
Любое решение по этому вопросу ??
Заранее спасибо.