Best practices for loading foreign assemblies

I am looking for some tips on how best to treat foreign assemblies as part of distribution and loading.

Basics: I worked on a program that is designed to interact with another installed program. Another program has an open .Net API designed to interact with third-party applications, such as my own, but it is updated quite regularly. Changes do not always break the changes, but this usually forces me to update my own application and cut the publication for the public.

The three main concepts that I have reviewed are as follows:

  • A package of external assemblies containing only an API with my own application. It is believed that the cons: increased distribution size. Setting checks between the executable files of the installed external application and the local copy of the API binary files and attempts to update them for synchronization.

  • Download other people's assemblies directly from the place where they exist in a foreign installation folder. Cons are believed to be: blocking binary files if a foreign application decides to update them.

  • Copy external assemblies to a temporary folder and download them from there. Cons are believed to be: the time taken to copy dozens of files (including assembling resources) and potentially leave them in a temporary folder.

Is there a best practice or other recognized way to do this?

EDIT: I must indicate that my application uses WPF.

+4
1

, :

" ", Dan North Accelerated Agile, . API . , , . API, ! , , .

0

Source: https://habr.com/ru/post/1542179/


All Articles