Как делает Локальную для копии работу? log4net.dll не копируется в выходной каталог MyProject

45
задан Robert Harvey 1 July 2015 в 23:27
поделиться

4 ответа

После задавания этого вопроса на MSDN здесь - кажется, что это поведение дизайном. "Если Вы будете развертывать/копировать приложение, которое содержит ссылку на пользовательский компонент, который регистрируется в GAC, компонент не будет развертываться/копироваться с приложением, независимо от Копии Локальная установка".

10
ответ дан Fadeproof 26 November 2019 в 21:26
поделиться

Необходимо немного опасаться копии, локальной, поскольку она ловила меня в прошлом!

Просто иногда, для конкретного .dll это тихо не скопирует его в папку сборки. Обычно это не обнаруживается на dev машине, как dll's часто находится в GAC также (при установке dev инструмента / библиотека, Вы используете для разработки), и таким образом, Вы не замечаете, пока это не получает distrobuted / связанный в установщик, и необходимые файлы отсутствуют на клиентской машине.

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

пойманный этим, я думаю, что это - хорошая идея (обычно в любом случае) для знания точно, какие блоки требуются проектом и иметь сценарий или подобное автоматизированное действие, которое гарантирует, что все необходимые компоненты присутствуют, или когда Вы создаете, или более вероятно когда Вы делаете установщик или собираете файлы для распределения,

5
ответ дан Mitch Wheat 26 November 2019 в 21:26
поделиться

То, когда локальная копия будет иметь значение true его, скопирует весь блок чей атрибут локальная копия = вторник к мусорному ведру direcory приложения.

В Вашем случае dll мог бы использовать другой dll, таким образом, это требует этого также.

4
ответ дан Raj Kumar 26 November 2019 в 21:26
поделиться

К сожалению, похоже, что согласно следующему утверждению, взятому из документации MSDN , функция CopyLocal не работает должным образом для сборок, уже находящихся в GAC.

Если вы развернуть приложение, которое содержит ссылку на настраиваемый компонент, зарегистрированный в GAC, компонент не будет развернут вместе с приложением, независимо от параметра CopyLocal. В предыдущих версиях Visual Studio можно было установить свойство CopyLocal для ссылки, чтобы гарантировать, что сборка развернута. Теперь вы должны вручную добавить сборку в папку \ Bin. Это подвергает весь пользовательский код тщательной проверке, снижая риск публикации пользовательского кода, с которым вы не знакомы.

Дополнительную информацию можно найти на следующей странице, где объясняются подробности о том, как работают ссылки на проекты.

MSDN: Ссылки на проекты

31
ответ дан 26 November 2019 в 21:26
поделиться
Другие вопросы по тегам:

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