Сборка используется другим процессом - PullRequest
1 голос
/ 29 июля 2011

Я обновил проект WCF под управлением 3.5 против 2008 до .net 4.0 против 2010 и столкнулся с проблемой.При компиляции из vs2010 сборка в моем проекте реализации сервиса заблокирована devenv.exe (обратите внимание, нет отладки - только компиляция).Сборка освобождается после перезапуска vs2010 и может быть скомпилирована один раз, после каждого перезапуска.То, что я пытался до сих пор:

  1. Вставить событие PreBuild для разблокировки сборки
  2. удаленный подстановочный знак версии сборки
  3. Отключение степпинга источника
  4. остановлен поиск Windows
  5. остановлен IIS
  6. выход vs2010, удалены папки sln.suo и bin / obj
  7. Читайте сообщения блога и SO в течение 3 дней:)
  8. Удалил все ссылки из сервисного проекта и прочитал их

У меня почти закончились идеи, и, похоже, у Microsoft нет объяснения этому, не исправить.Будем признательны за любые идеи!

Сообщение об ошибке:

Невозможно скопировать файл "..... some path ... \ Debug \ HelperLibrary.Service.dll" в"Bin \ Debug \ HelperLibrary.Service.dll".Процесс не может получить доступ к файлу «bin \ Debug \ HelperLibrary.Service.dll», так как он используется другим процессом.

Дополнительная информация: При компиляции из приглашения с помощью msbuild, нет проблем.Только при компиляции из vs2010.Старое решение vs2008, конечно, все еще работает.

Microsoft Ticket: https://connect.microsoft.com/VisualStudio/feedback/details/682485/use-of-testaccessor-and-impl-of-codeaccesssecurityattribute-locks-assembly

Ответы [ 2 ]

0 голосов
/ 01 августа 2011

Хорошо, мой коллега вернулся из отпуска и сказал, что столкнулся с этой проблемой ранее :) Похоже, что основная причина, по которой сборка блокируется (или удерживается процессом сборки), связана с использованием testaccessors для тестирования частных методов в сочетании с реализацией CodeAccessSecurityAttribute. Обратите внимание, что это не проблема в Visual Studio 2008, но только в 2010 Смотрите другой случай здесь:

http://social.microsoft.com/Forums/en/Offtopic/thread/41ceebce-1ecf-4962-86d0-e68050df4a99

Мне еще предстоит найти решение для этого, кроме изменения приватных методов для public - я создам новый пост для этой проблемы.

0 голосов
/ 29 июля 2011

Это длинный выстрел, но есть ли вероятность, что в вашем файле web.config для ' shadowCopyBinAssemblies ' установлено значение 'false'?Или, что в конфигурационном файле исходящего потока этот параметр отключен?

Я думаю, что это может вызвать проблему, которую вы видите.

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