Получение ошибок «невозможно скопировать сборку» при попытке создать сайт - PullRequest
0 голосов
/ 25 февраля 2010

Я получаю две из этих ошибок при попытке создать полное решение для нашего сайта. Вот полный текст ошибок:

Ошибка 91 Не удается скопировать сборку «Emcom.DataAccess.dll» в файл «C: \ work \ evan-moor.com-trunk \ 2007.evan-moor.com \ Bin \ Emcom.DataAccess.dll». Невозможно добавить 'C: \ work \ evan-moor.com-development \ Emcom.DataAccess \ bin \ Debug \ Emcom.DataAccess.dll' на веб-сайт. Невозможно добавить файл 'Bin \ Emcom.DataAccess.dll'. Процесс не может получить доступ к файлу, поскольку он используется другим процессом.
C: ... \ 2007.evan-moor.com \

Ошибка 92 Не удается скопировать сборку 'Emcom.DataAccess.Generated.dll' в файл 'C: \ work \ evan-moor.com-trunk \ 2007.evan-moor.com \ Bin \ Emcom.DataAccess.Generated.dll ». Невозможно добавить 'C: \ work \ evan-moor.com-development \ Emcom.DataAccess \ bin \ Debug \ Emcom.DataAccess.Generated.dll' на веб-сайт. Невозможно добавить файл 'Bin \ Emcom.DataAccess.Generated.dll'. Процесс не может получить доступ к файлу, поскольку он используется другим процессом.
C: ... \ 2007.evan-moor.com \

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

Я проверил и дважды проверил все dll, и два проекта, на которые здесь ссылаются, и ни один из них не использует папку разработки, что, как я подозревал, могло быть причиной этого. Я также сделал чистую совершенно новую проверку нашего багажника, и все еще получил эти ошибки. Затем я попытался удалить все временные файлы .NET, чтобы решить эту проблему, но все равно не повезло. Я выполнил поиск в Google по этой проблеме и обнаружил исправление Microsoft для этой проблемы, которое заключалось в замене DLL - но это было для Visual Studio 2003, и я использую 2008. Рассматриваемая DLL на моем компьютере - две полные версии новее, чем заменяющую версию, которую они перечисляют в исправлении, поэтому я не уверен, что было бы неплохо заменить то, что у меня есть, тем, что там упоминалось.

Есть идеи? Если не считать переустановки Visual Studio и переформатирования моего компьютера, у меня нет идей. Повторная установка может сделать это, но переформатирование будет слишком большой работой, чтобы исправить эту ошибку.

Ответы [ 3 ]

0 голосов
/ 06 апреля 2010

Я подумал, что смогу ответить на этот вопрос, если у кого-то еще возникнет эта проблема.Один из моих коллег решил эту проблему для меня.В результате возникла проблема неправильного порядка сборки, которую он исправил, переместив ссылки на проекты, чтобы исправить порядок сборки.Один проект зависел от другого и строился раньше, чем проект, от которого он зависел.Как только он это исправил, проблема ушла.

0 голосов
/ 14 августа 2012

У меня такая же проблема в VS 2010, а также в более ранних версиях, и, похоже, она по-прежнему является ошибкой в ​​IDE. Выход из IDE, который использовался, чтобы помочь ему уйти, но иногда работает только в VS 2010. Посмотрите эту страницу поддержки Microsoft для подробностей http://support.microsoft.com/kb/887818

При попытке создать решение Microsoft Visual C # .NET в Microsoft Visual Studio .NET 2003, операция построения решения завершается неудачно. Ты можешь получить сообщение об ошибке, похожее на следующее:

Невозможно скопировать сборку в файл \ bin \ Debug \ Release \ .dll. процесс не может получить доступ к файлу, потому что он используется другим процесс.

Примечание. Обычно эта проблема не возникает после перезапуска Visual Studio .NET 2003.

Я также попробовал эти два других предложения, но ни одно из них не сработало: http://forums.asp.net/t/1288310.aspx

Исправление: это первое предложение сработало для меня; Я прокомментировал строку hostingEnvironment shadowCopyBinAssemblies="false" в web.config другого проекта, а не в проекте, на который ссылается ошибка. После того, как вы сделали это в нужном месте, ошибки исчезли.

Один

Моя команда нашла решение нашей проблемы со сборкой нашего веба сайт этим утром. Кто-то поместил эту запись в веб-конфигурацию файлы. hostingEnvironment shadowCopyBinAssemblies="false" если у вас есть эта запись в любой конфигурации машины или веб-конфигурации, это вызовет этот вопрос.

Два

Вам нужно удалить файл hash.web, Открыть C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Временный ASP.NET Файлы \ YourWebSite, затем Serach hash.web и удалите все эти файлы а затем восстановить. Вот объяснение, hash.web
http://blogs.msdn.com/tmarq/archive/2007/11/02/asp-net-file-change-notifications-exactly-which-files-and-directories-are-monitored.aspx

0 голосов
/ 25 февраля 2010

Вы можете попробовать WhoLockMe. Это дополнение для Windows Explorer и доступно из контекстного меню. Перейдите к dll, используйте утилиту, и если она сообщает о блокировках, то доступна функция уничтожения.

Скачать с http://www.dr -hoiby.com / WhoLockMe /

Инструкции по использованию доступны на том же веб-сайте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...