Моя проблема состоит в том, чтобы попытаться выяснить, как загрузить сборку .NET из произвольного местоположения. В моем сценарии я не хочу использовать подкаталог (исключающий подход к поисковому пути) или GAC. Подкаталогный подход обеспечивает сохранение нескольких копий сборки, поскольку сборка используется несколькими вызывающими. Сценарий GAC является долгосрочным ответом, но предпринимаются определенные усилия для перехода к такому подходу. Для Visual Studio 2010 я вижу использование GAC с этими основными параметрами: встроенный установщик получил много критики, версия InstallShield Limited довольно приятная, но, похоже, не поддерживает GAC (платные версии InstallShield, конечно,) и WiX считается имеющим кривую обучения для использования.
Я упоминаю все это о GAC прежде всего потому, что любой из многочисленных людей, которые задавали этот вопрос, всегда, казалось, указывался в направлении GAC. Это разочаровывает, потому что элемент codebase, кажется, является именно тем, что я желаю для своего строго названного вызывающего и названных сборок.
Мой файл app.config выглядит так:
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/></startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft.com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="SharedProgramTest"
Culture="neutral"
PublicKeyToken="c422f85319da5fe0"
/>
<codeBase version ="1.0.0.1"
href="file:///D:/SomewhereElse/SharedProgramTest.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Спасибо,
Джон Виггер