Visual Studio 2008. DLL исчезают проблемы - PullRequest
4 голосов
/ 14 ноября 2008

Хорошо, у меня есть VS 2008 и SVN. Когда я «перестраиваю все», несколько моих DLL исчезают из папки «bin».

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

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

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

Спасибо.

Ответы [ 5 ]

4 голосов
/ 14 ноября 2008

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

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

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

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

2 голосов
/ 14 ноября 2008

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

0 голосов
/ 13 августа 2009

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

0 голосов
/ 14 ноября 2008

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

Да, это хакерство, но оно не позволяло лапам В.С. оторваться от моих логов!

0 голосов
/ 14 ноября 2008

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

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

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

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

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

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

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

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

...