Проблемы с исчезновением DLL в Visual Studio 2008

Итак, у меня VS 2008 и SVN. Когда я «перестраиваю все», некоторые из моих .dll исчезают из папки bin.

У меня есть эти .dll в папке библиотеки, и я на них ссылаюсь.

Когда я иду опубликовать приложение, публикация не выполняется, я думаю, что они связаны. Когда я перезагружаю свой web.config (что-то меняю и сохраняю), эта ошибка исчезает. Однако опубликовать все равно не удается.

Когда я захожу в папку и обновляю, svn, конечно, возвращает их все обратно, но потом это происходит снова и снова.

Спасибо.

Что это за веб-проект? Проект веб-приложения (с файлом .csproj) или стиль папки / 2005 (без .csproj)?

Kev 14.11.2008 06:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
1
2 564
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Похоже, процедура сборки удаляет содержимое вашего каталога bin при сборке.

Я не понимаю, где вы говорите, что ссылаетесь на них из папки библиотеки - и они также существуют в каталоге bin.

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

Обновление SVN возвращает файлы к последней версии, поэтому, если у вас нет файла, последняя версия - это та, которая существует в вашем репозитории.

Что нужно проверить:

  • Вероятно, вы получаете ошибки в своей сборке - похоже, что DLL на самом деле выводятся из других проектов в вашем решении, поэтому вам следует проверить, правильно ли они строятся или выводятся в другой каталог, а не в папку bin.

  • В вашем репозитории Subversion, вероятно, не должно быть никаких двоичных или промежуточных файлов, таких как dll, lib, exe, suo, ncb и некоторых других, но это основные из них.

  • Опубликуйте здесь более подробную информацию - судя по звуку, вы можете упустить ошибки, которые не публиковали здесь.

нет, строю нормально, индивидуальные проекты строятся нормально. Я согласен с тем, что добавление некоторых .dll - не самая лучшая идея, но не думаю, что их удаление поможет.

Sara Chipps 14.11.2008 06:39

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

Я видел это раньше при использовании Rebuild - я исправил это, пометив эти ссылочные dll как ReadOnly в их атрибутах Explorer.

Да, это хакерское приложение, но оно уберегло VS от моих dll!

Ответ принят как подходящий

Я предполагаю, что под папкой «Bin» вы подразумеваете место сборки, в котором Visual Studio собирает исполняемую версию вашего приложения.

В общем, я обнаружил, что внесение изменений в папку Bin вручную - это хороший способ столкнуться с «новым миром боли». Мои проблемы исчезли, как только я позволил Visual Studio делать с каталогом все, что она хотела, и оставил это в покое.

Если в вашем проекте есть ссылки на библиотеки DLL, пометьте их как «Копировать локально» (выберите их в обозревателе решений, настройте на панели «Свойства»), и Visual Studio обеспечит их копирование за вас.

Примечание: поскольку каталог Bin управляется Visual Studio и полностью воспроизводится, я предлагаю, чтобы он (и его родственный объект Obj) не находился в системе контроля версий.

У меня была аналогичная проблема, но на DLL была ссылка из папки bin, как только я добавил ссылку и установил для параметра «Копировать локально» значение false, она перестала удалять ее. Спасибо!

pauloya 23.09.2009 13:00

Вероятно, у вас есть веб-сайт по умолчанию, а не проект веб-приложения.

Другие вопросы по теме