Visual Studio 2010 Designer Bug: Невозможно скопировать с OBJ Debug в Bin Debug

StackOverflow https://stackoverflow.com/questions/3515650

Вопрос

Удивительно, что у кого-то есть решение этой ошибки 2010 года. У меня есть проект, который построил штраф в Visual Studio 2008, который не построен в 2010 году, потому что Visual Studio удерживает DLL после того, как приложение запущено только в том случае, если окно конструктора открыто. Я создал действительно легкий вес проекта, который показывает эту проблему. Если вы создаете приложение, то создайте диск DLL. Положите одну форму в DLL, откройте форму в представлении «Дизайн», а затем запустите приложение. Он будет работать нормально, затем закройте приложение, перейдите к представлению кода формы в представлении «Дизайн» и измените код (я просто переименовал одну переменную), затем попробуйте перекомпилировать, что вы получаете следующее:

Ошибка 1 Невозможно скопировать файл "obj debug customlib.dll", чтобы "построить debug customlib.dll". Процесс не может получить доступ к файлу «Build Debug CustomLib.dll», потому что он используется другим процессом.

Если вы запустите процессы Explorer и найдите DLL, единственный процесс, удерживающий DLL DEVENV.EXE !!!

Я сделал тонну поиска этой проблемы и нашел подобные проблемы со старыми версиями DEV Studio, где люди смогли просто Добавьте предварительный шаг Чтобы переместить заблокированную DLL на другое имя (заблокировано) и построить. Хорошо, что работает в первый раз, но в следующий раз, когда вы запускаете, а затем редактируете, вы заблокированы из текущей DLL, и тот, который вы перемещали в .LOABLED, поэтому, если я не готов добавить код, чтобы случайным образом генерировать имя для заблокированного DLL Это не будет работать для меня (я не хочу, чтобы мой размер каталога отладки расти с файлами, которые никогда не удаляются.)

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

У кого-нибудь есть лучшее решение этой проблемы?

Это было полезно?

Решение

Я не уверен, будет ли это работать для вас или нет, но Этот подобный вопрос Если у вас есть эта строка в сборке CO.CS:

[assembly: AssemblyVersion("2.0.*")]

Изменение этого:

[assembly: AssemblyVersion("2.0.0.0")]

решит это верно.

Навигационная студия дополнения "Vscommands.«Претензии, чтобы исправить эту проблему. Я еще не тестировал, но это также утверждает, что есть трекер репутации StackoverFlow In-IDE, который интригирует меня :)

Ваш «близкий дизайнер перед отладкой» обходной путь, кажется, работает для меня (До сих пор), за что я очень благодарен. Начало добраться до сцены, где большая часть моего дня была проведена в следующем рабочем процессе ...

  1. F5.

  2. громкий ругатель

  3. Alt. F4.

  4. ПОБЕДИТЬ 3

  5. нетерпеливо ждет ...

  6. F5.

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

У меня долгое время имели те же проблемы, а затем внезапно они исчезли. Я понял, что источником проблем был инициализирует код в конструкторах WCF Services и Controls WPF. После очистки конструкторов из любых зависимостей к другим собраниям все было хорошо.

Итак, мое предложение: очистить свои конструкторы.

В WPF возможно, что вставление:

if (DesignerProperties.GetIsInDesignMode(this)) return;

или подобное будет иметь тот же эффект.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top