Как подсказывает foson, используйте codebase в конфигурационном файле вашей консоли. Пример показан ниже (измените publicKeyToken, name, version и href соответственно).
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myCommonDll" publicKeyToken="32ab4ba45e0a69a1" culture="neutral" />
<codeBase version="2.0.0.0" href="file://C:\Users\djpiter\Documents/myCommon.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Так что это был бы самый простой способ заставить CLR перенаправить вызов к вашей общей DLL из GAC в версию, расположенную в href месте. Ваша обновленная общая dll должна иметь строгое имя, как и в GAC с тем же именем, культурой, publickeytoken, но новой версией. Следовательно, единственное изменение - в файле конфигурации консоли. Вам не нужно менять ссылку в исходном коде консоли. Вы можете просто продолжать использовать существующее консольное приложение.