Как консольное приложение.NET ищет блоки, на которые ссылаются?

Я не думаю, что существует любой модуль, который можно легко загрузить для реализации scp, однако Вы могли бы найти это полезным: http://www.ibm.com/developerworks/linux/library/l-twist4.html

7
задан JohnFx 18 October 2011 в 14:55
поделиться

5 ответов

Самый простой ответ - поместить DLL в тот же каталог, что и консольное приложение, и оно найдет их.

Более подробный ответ довольно сложен, поскольку существует множество факторов, влияющих на то, как и где среда CLR ищет сборки, на которые имеются ссылки. Я рекомендую вам взглянуть на следующую статью MSDN, в которой подробно описывается, как это работает:

11
ответ дан 6 December 2019 в 12:53
поделиться

Когда вы исследуете исключение, вы получаете (и вам может понадобиться чтобы погрузиться во внутреннее исключение), вы должны увидеть журнал всех найденных местоположений («журнал слияния»).

Я бы рекомендовал просто поместить зависимые библиотеки DLL в тот же каталог, что и ваше консольное приложение.

0
ответ дан 6 December 2019 в 12:53
поделиться

- Right click on the assembly name in your project reference.
- select Properties
- In the properties window set CopyLocal to true
3
ответ дан 6 December 2019 в 12:53
поделиться

GAC ( Global Assembly Cache ) регистрирует ваши .dll, поэтому вам не нужно иметь их в рабочем каталоге вашего приложения. Все .dll .NET (System.IO.dll, System.dll и т. Д.) Зарегистрированы через GAC, что означает, что вы не они должны быть в каталоге вашего приложения. По умолчанию, если .dll не зарегистрирована в GAC, программа будет искать отсутствующую .dll в своем собственном каталоге.

Итак, у вас есть три варианта:

  1. Добавить ваши .dll, на которые есть ссылка, в GAC , или
  2. Добавьте свои .dll, на которые имеется ссылка, в рабочий каталог вашего приложения.
  3. Перейдите к своим ссылкам на решение / проект и выберите свойства для этой ссылки, установите «CopyLocal = true» (за это следует указать партнеру)
2
ответ дан 6 December 2019 в 12:53
поделиться

Вы можете развернуть DLL, на которые есть ссылки, где захотите. Вы должны добавить App.config (добавить / новый элемент / файл конфигурации приложения) в свой базовый проект и использовать зондирование тегов (конфигурация / время выполнения / привязка сборки / зондирование), чтобы указать путь для ваших dll.

Вы должны скопируйте dll или dll по этому пути и добавьте ссылку на них в свой проект. В свойствах ссылки поместите "копировать локально" в "ложь".

0
ответ дан 6 December 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: