Visual Studio - Невозможно создать простой проект более одного раза - PullRequest
3 голосов
/ 03 ноября 2011

Когда я пытаюсь построить проект дважды, я получаю следующую ошибку

Error 2 Unable to copy file "obj\x86\Release\iFileUploader.exe" 
to "bin\Release\iFileUploader.exe". The process cannot access the 
file 'bin\Release\iFileUploader.exe' because it is being used by another process.

Если я закрою Visual Studio и снова открою ее, я смогу скомпилировать ее снова, но только один раз.

Мои проекты размещены на общем сетевом ресурсе Windows. Сервер работает под управлением Windows 2008 R2 и Im на компьютере под управлением Windows 7, и я попытался установить для всех полный контроль над общим ресурсом и разрешением папки, но безрезультатно.

Я даже запустил программу Unlocker и проверил Windows Share & Storage Manager, чтобы узнать, использует ли он что-нибудь и ничего не делает! Я не могу удалить файл, когда это происходит, пока я не закрою VS.

Есть ли параметр, который мне не хватает в Visual Studio?!


UPDATE

Удалены все антивирусы / антиспам, отключен брандмауэр, поэтому нулевая безопасность.

Отключено «Включить процесс размещения Visual Studio»

Visual Studio - это то, что нужно, если не отпустить ручку

enter image description here

enter image description here


UPDATE

Еще одна тема, у которой точно такая же проблема, но много лет назад !!

Уничтожить консольные окна без процессов, оставленные сеансами отладки Visual Studio


UPDATE

Я скопировал файлы локально, и это не сработало. Поэтому я создал новый проект, а затем скопировал весь код в новый проект, и теперь он работает (файлы хранятся локально)

Ответы [ 5 ]

1 голос
/ 03 ноября 2011

проверьте, использует ваша антивирусная программа или нет.

В качестве альтернативы используйте Process Explorer и найдите строку - «iFileUploader.exe» и посмотрите, кто ее использует.Вы можете легко достать ручку и закрыть ее.

0 голосов
/ 17 марта 2016

У меня была эта проблема в VS 2012 Windows 7. Основная причина - антивирус Avast.

Исправлено отключение Avast всякий раз, когда необходимо работать на консоли C ++ приложения

(или)

-> Перейти к настройкам Avast

-> Активная защита

-> Щит файловой системы (настройка)

-> снять флажок Проверять программы при выполнении

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

Christian, даже если у вас есть ваш Stream в использовании () {}, не объявляйте новую переменную StreamReader, например, не делайте этого

using(StreamReader streamReade = new StreamReader)
{
  ..... // if you do you will run into that stream being locked
}
//Declare the StreamReader variable out side of the using and then within the using do something like this.

StreamReader streamReader = null
using(streamReader = new StreamReader()
{

}
0 голосов
/ 03 ноября 2011

Убедитесь, что там, где вы создали экземпляр StreamReader или StreamWriter, вы закрыли поток.

Например, я бы создал на уровне приложения экземпляр StreamReader / StreamWriter и установил бы его на нуль

Class SomeClass
{
  public StreamWriter streamwrtFileToCreate = null;
  public FileStream fstreamFileStream = null
  public SomeMethod(string FileName, string FilePath)
  {   
    FileStream fstreamFileStream = new FileStream(@FileName + @FilePath, FileMode.Create);
    streamwrtFileToCreate = new StreamWriter(fstreamUpdateRpt);
    streamwrtUpdateRpt.AutoFlush = true;
  }
}

Также было бы полезно, если бы вы опубликовали точный пример кода, который вы используете при создании экземпляра FileStream

0 голосов
/ 03 ноября 2011

Несколько баллов:

  • Проверьте, не запущен ли процесс iFileUploader.exe в диспетчере задач Windows.
  • Убедитесь, что никто не запускает проект, который может использовать iFileUploader.exe.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...