Как связать сборку, когда она не находится в той же папке, что и основной.exe, используя его относительный адрес?
Я добавил эти строки в app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas?microsoft?com:asm.v1">
<dependentAssembly>
<codeBase version="1.0.0.0"
href= ".\libs\CrashReporter.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Но мое консольное приложение вылетает, и исключение говорит, что:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly
'CrashReporter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
The system cannot find the file specified.
at TestConsoleApplication.Program.Main(String[] args)
CrashReporter.dll - это управляемый код на C#, на который я ссылался в своем консольном приложении. Но во вкладке свойств dll ссылки я установил Copy Local
ложно. Потому что в установщике я хочу скопировать его в папку.\ Libs\CrashReporter.dll, и она не будет находиться в той же папке, что и файл.exe.
Как я могу сказать.net, что я помещаю файл dll в папку../libs/ относительно файла.exe?