Подтвердить что ты не робот

Изменение ссылок на С#.dll от абсолютного до относительного

Я скомпилировал мой проект, и некоторые из моих добавленных проектов .dlls имеют абсолютные ссылки. Когда я пытаюсь запустить проект на другой машине, он ищет DLL файлы из исходного пути проекта.

Как я могу заставить проект искать DLL файлы, используя относительный путь?

4b9b3361

Ответ 1

Отредактируйте файл .csproj и измените элементы <HintPath> с абсолютных путей на относительные пути.

Ответ 2

Вы также можете написать свой обработчик для разрешения сборок. В простейшей форме это может выглядеть так:

AppDomain.CurrentDomain.AssemblyResolve += AssemblyResolveHandler;
..
static Assembly AssemblyResolveHandler(object sender, ResolveEventArgs args)
{
  string assemblyPath = "yourpath";
  return Assembly.LoadFrom(assemblyPath + args.Name);
}

Другой вариант - добавить запись в App.config:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="yourpath"/>
     </assemblyBinding>
  </runtime>