2009-10-05 2 views
0

На самом деле я использую ссылки для ссылки на две внешние dll для моего проекта. Я хочу, чтобы сеть установила путь в ссылке, но принудительно C# для поиска DLL в моем пути приложения.Ссылка dll из app.config?

Я создал папку в myapp «.netlibs» и разместил там свои dll и удалил их из раздела «Ссылки».

Я положил это в app.config:

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

Но это не работает?

Неужели вы знаете парней, если я что-то пропустил?

благодарит заранее.

+0

Опишите «неработающие». Вы получили сообщение об ошибке? Если вы больше не ссылаетесь на них, как вы их загружаете? Пожалуйста, покажите нам какой-нибудь код. –

+0

Привет Ларс. Я имею в виду, что это дает мне ошибку при попытке компиляции. Не удалось найти тип или пространство имен «xxxxxx» .... –

ответ

0

Сборочное зондирование доступно только во время работы. Во время компиляции вам всегда нужна ссылка на внешнюю сборку в вашем проекте.

Что я могу понять из вашего комментария, так это то, что вы пытаетесь скомпилировать свой проект без ссылки.

ИЗОБРАЖЕНИЕ после комментария: Поместите общие ссылки в источник управления, где-то на более высоком уровне и обратитесь к ним. Если вы откроете файл csproj после создания ссылки, пути должны быть динамическими, например: ../../References/MyReference.dll. Каждый разработчик должен получить последнюю из собраний.

Другой вариант - разместить их в GAC на каждой машине для разработчиков.

+0

Привет, Джерри. Вы правильно относитесь к моей компиляции. Если я поставлю ссылку, например: c: \ develop \ myapp \ .netlibs \ CSzip.dll, компиляция и запуск все в порядке. Но если мой коллега возьмет мой проект и поместит его в: c \ dev \ myapp, ссылка не будет такой: | Итак, как он будет компилировать и запускать проект? –

+0

ОК спасибо за дополнительную информацию. –

+0

Спасибо. Очень хорошая идея разместить папку dlls в корне приложения и добавить ссылку на нее. –

Смежные вопросы