Согласно Microsoft существует (как минимум) три способа ссылки на сборки:
- установить сборку в GAC
- указать сборку в конфигурации приложения
- или используйте событие AssemblyResolve
GAC здесь не вариант, так как у вас будет та же проблема (с такими же именами).
Использование события AssemblyResolve и затем использование Assembly.Возможно, LoadFrom мог бы сделать это, но имхо было бы проще ...
... сделать это вторым упомянутым способом: указать сборку в конфигурации приложения.Здесь вы в основном редактируете App.config следующим образом:
<configuration>
<runtime>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<probing privatePath=”bin;Silverlight;ParentFolder\SubFolder;”/>
</assemblyBinding>
</runtime>
</configuration>
, и приложение будет искать сборки в указанных каталогах.
Таким образом, вы можете создавать определенные папки (возможно, «NET»).и «Silverlight» и т. п.), скопируйте соответствующую сборку в эту папку и найдите сборку в соответствующей папке, как описано выше.
Учитывая, что в конфигурации приложения не указана ссылка, приложение будетзаглянув либо в ту же папку, что и ссылочная сборка , либо в папку с именем ссылочной сборки, вы также можете просто создать 2 папки с тем же именем, что и соответствующее приложение (например, «Клиент» и «Сервер ", если они называются" Client.exe "и" Server.exe ") и скопируйте соответствующую сборку в эту папку.В этом случае даже не потребуется изменять файл конфигурации приложения.