У меня есть приложение WinForms .net 3.5. Я развертываю его с помощью clickonce в интранет с несколькими клиентскими машинами. Я публикую приложение в веб-сервере интранет (http://desbiz/CarwinClickOnce).
В среде разработчика (мой ПК), мое приложение использует блоки GAC, как Fk.Security.Common.dll v.1.0.0.0.
На вкладке Publish-> Файлы приложения в Свойствах приложения 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...
(как я могу удалить/установить блоки в GAC использование ClickoNce????)
2.) Если ссылка Fk.Security.Common.dll НЕ находится в GAC, Fk.Security.Common.dll v.1.0.0.0 ссылка, включенная в ClickOnce, применяется.Нет проблем.
примечание: у пользователя в клиентской машине есть Права администратора.
Какое-либо решение об этом выходит??
Заранее спасибо.
ClickOnce не может установить или удалить файлы в GAC.
Вы написали Fk.Security.Common.dll? Если да, то увеличьте номер версии (v.1.0.0.1) и перекомпилируйте ее. Когда вы ссылаетесь на нее, установите свойство "Specific Version" на "True", а свойство "Version" на ваш новый номер версии. Это должно решить вашу проблему без необходимости удалять старую сборку из GAC всех пользователей.