У нас есть приложение .NET для Windows, которое устанавливается локально установщиком Microsoft. Теперь у нас есть необходимость использовать дополнительные сборки, которые находятся в сети на наших веб-серверах. Мы хотели бы сослаться на удаленный URI, такой как https://www.ourserver.com/OurProductName/ExternalLib.dll, и раскрыть дополнительную функциональность, которая примерно описана известным общим интерфейсом («AddIn / Plugin»). Это , а не сторонние плагины, мы просто хотим иметь возможность часто обмениваться частями приложения, без необходимости частых обновлений программного обеспечения.
Наша первая идея состояла в том, чтобы добавить некий «удаленный рефенсинг» в Visual Studio, указав путь к URI удаленной сборки. Но Visual Studio немедленно загрузила сборку во временный каталог, добавив ссылку на него.
Наша вторая попытка - просто использовать WebRequest
(или WebClient
) для извлечения двоичного потока сборки, загружая его «из образа» с помощью Assembly.Load(...)
. Это на самом деле работает, но не очень элегантно и требует дополнительного программирования для проверки и т. Д.
Мы надеялись, что Clickonce предоставит полезные методы, но, очевидно, он подходит только для автономных приложений. ( Поправь меня? )
Есть ли способ (.net native или framework / api) ссылаться на удаленно расположенные сборки?
Заранее спасибо и счастливой Пасхи!