Во-первых, вы не можете использовать этот блок обновления.Это было для .NET 1.1.Он был помечен как устаревший, когда развертывание ClickOnce было добавлено в .NET 2.0.
Возможно, вам не нужно устанавливать эту DLL в GAC.Во многих случаях вы можете просто включить его в развертывание, и он найдет локальную ссылку и будет использовать ее.Это зависит только от DLL.Итак, вот что я рекомендую вам попробовать:
Добавьте dll в ваш проект.Установите для действия «build» значение «none».Установите для параметра «копировать в локальный каталог» значение «не копировать».
Удалите ссылку в своем проекте на эту DLL и повторно добавьте ее.Но вместо того, чтобы выбрать его из GAC, перейдите к тому, который вы только что добавили в свой проект, и выберите его.В ссылочных свойствах установите «copy local» на «true».
Теперь, когда вы запустите его, он получит доступ к локальной копии, а не будет искать ее в GAC.
Как я уже сказал, в некоторых случаях это прекрасно работает.Это работает для SQLCE и DirectX, но не для чего-то вроде Infragistics.Некоторые сборки действительно должны быть установлены в GAC.Единственный способ узнать это, если вы попробуете это.
Если вам в конечном итоге придется поместить его в GAC, вы можете создать MSI для этого и развернуть его в качестве предварительного условия для приложения ClickOnce.Таким образом, вы все еще можете использовать ClickOnce для вашего основного приложения.