Использование элемента <codebase>в app.config - PullRequest
5 голосов
/ 14 декабря 2009

Я намерен хранить несколько DLL-файлов в папке, отличной от папки bin, для моего приложения Windows. Я не уверен, как бы я использовал элемент codebase или элемент probing, чтобы указать правильный путь. Это то, что я сейчас имею в файле app.config,

<runtime>
 <assemblyBinding>
  <dependentAssembly>
    <assemblyIdentity name="CommonLib" publicKeyToken="f0b5026b59d5645e"   
     culture="neutral" />
    <codeBase version="1.0.0.0" href="SharedFolder\CommonLib.dll" />
  </dependentAssembly>
 </assemblyBinding>
</runtime>

Я получаю, Не удалось загрузить ошибку сборки во время выполнения. Кажется, я делаю что-то не так в файле конфигурации. SharedFolder - это папка, добавленная в проект.

Ответы [ 2 ]

8 голосов
/ 14 декабря 2009

Кажется, элемент codeBase предназначен для получения файлов с URL, пробовали ли вы использовать зондирующий элемент ?

<runtime>
 <assemblyBinding>
  <dependentAssembly>
    <assemblyIdentity name="CommonLib" publicKeyToken="f0b5026b59d5645e"   
     culture="neutral" />
  </dependentAssembly>
  <probing privatePath="SharedFolder"/>
 </assemblyBinding>
</runtime>
0 голосов
/ 16 декабря 2009

Спасибо, Юрий. Проблема была в пути. значение privatePath должно быть путем, которого может достичь среда выполнения .NET. Я пытался «SharedFolder», который не был внутри папки Debug, он был прямо под папкой проекта.

...