Я написал сборку. NET и ссылался на некоторые google-сборки. Эти гугл-сборки имеют все версии 1.44.1.0. Но некоторые ссылки внутри гугл-сборок ссылаются на версию 1.36.1.0. Таким образом, в файле .config есть перенаправление привязки сборки, например
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Google.Apis.Auth" publicKeyToken="4b01fa6e34db77ab" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.44.1.0" newVersion="1.44.1.0" />
</dependentAssembly> ...
, поэтому оно будет работать, поскольку ссылка на 1.36.1.0 перенаправлена на 1.44.1.0. Но когда я использую свою сборку в разных проектах, мне нужно создать .config-файл для каждого проекта, в котором я использую свою сборку сверху, и добавить перенаправление сборки-привязки-перенаправления. Я бы предпочел поместить эту «конфигурацию» в саму сборку - и могу забыть о .config-файлах. Кажется, есть способ сделать это: https://blog.slaks.net/2013-12-25/redirecting-assembly-loads-at-runtime/ но почему это так сложно? Или я что-то упустил?