2016-12-08 4 views
3

Я пытаюсь загрузить файл из Интернета. У меня есть оператор if, а предложение else запускает загрузку файла. Это мой код:Не удалось скопировать «obj Debug Program.exe» в «bin Debug Program.exe». Превышено количество повторных попыток 10. Ошибка

if (!FileDownload) 
{ 

} 
else 
{ 
    using (WebClient wc = new WebClient()) 
    { 
     wc.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed); 
     wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); 
     wc.DownloadFileAsync(new Uri("https://www.google.com/Program.exe"),Application.StartupPath); 
     MessageBox.Show("Yes"); 
    } 

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

Ошибка 1:

Could not copy "obj\Debug\Program.exe" to "bin\Debug\Program.exe". Exceeded retry count of 10. Failed. 

Ошибка 2:

Unable to copy file "obj\Debug\Program.exe" to "bin\Debug\Program.exe". Could not find file 'obj\Debug\Program.exe'. 

И около 10 предупреждений с тем же сообщением:

Could not copy "obj\Debug\Program.exe" to "bin\Debug\Program.exe". Beginning retry 1 in 1000ms. Could not find file 'obj\Debug\Program.exe'. 

Однако, как только я удаляю предложение else в инструкции if, программа выполняется без каких-либо ошибок. Код загрузки в предложении else явно вызывает проблему, но я не уверен, почему. Я использовал один и тот же код в той же форме на другом мероприятии, и он работает безупречно. Любая помощь приветствуется.

Я уже пробовал:

  • Закрыть и открыть Visual Studio
  • Удалить все файлы из папки бен затем восстановить.
  • Проверено, если файл заблокирован с Process Explorer
  • вручную запустить VS как администратор
  • Удалить бин и отлаживать папку
  • Перезагрузка компьютера и переместить проект в другую папку
+1

Вам нужно сделать su re файл не используется. – SLaks

+2

Закрыть и вновь открыть визуальную студию – TheLethalCoder

+0

Закройте проект и откройте его. Попробуй еще раз. –

ответ

0

Я нахожусь убедитесь, что вы не удаляете файлы из правильной папки bin. Откройте TaskManager ищите любую программу с именем Program.exe. Убедитесь, что процесс запущен с Open file Location.

Убейте Program.exe и попробуйте перестроить снова. Если он работает, путь вывода вашего бина отображается в это место.

Просто просмотрел сообщение об ошибке: Не удалось скопировать файл "obj \ Debug \ Program.exe" в "bin \ Debug \ Program.exe". Не удалось найти файл 'OBJ \ Debug \ Program.exe'

Есть ли у вас какой-либо шаг PostBuild сконфигурированный для копирования файлов? если да, то удалите это.

Также отредактируйте ваш .csproj-файл и выполните поиск 'obj \ Debug', если есть что-то, что соответствует ему, и удалите его и повторите попытку.

Более продвинутый поиск и устранение неисправностей:

Используйте process monitor и фильтровать процесс VisualStudio и пути.смотрите ниже скриншота

enter image description here

Создайте свой проект снова и Исследовать профилирующие журналы, почему он пытается скопировать program.exe.

enter image description here

Добавить/Удалить фильтры, чтобы понять, почему это Tyring скопировать program.exe. Также найдите любые ошибки в столбце Result.

+1

Я уже пробовал, и это не сработало. Проблема в том, что папка 'obj \ debug \' не создает Program.exe. Поэтому его нельзя скопировать в папку bin. Я не уверен, почему он не работает. – Harry

+1

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

+0

Моя программа уже требует запуска в качестве администратора (я уже отредактировал файл манифеста) и Я также запускал Visual Studio как администратор, и ошибка все еще происходит. – Harry

0

Я сам решил проблему. Попробовав много разных решений, которые работали для других людей, но не для меня, я попытался посмотреть на разные процессы, запущенные одновременно с тем, что я пытаюсь выполнить программу. Проблема была Avast. Я отключил Avast Anti Virus, и он мгновенно решил проблему. По какой-то причине Avast даже не показывал никаких сообщений каждый раз, когда удалял программу. У меня есть existing problem с моей программой - в том, что некоторые AV (2/72) обнаруживают мою программу как вирус. Это как-то связано с моей структурой кода. Спасибо за ответы всем - это должно быть полезно другим людям, у которых есть аналогичная ошибка.

1

Просто сделайте одну вещь Откройте Visual Studio как права администратора, как показано на рисунке ниже. enter image description here

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

Просто попробуйте это я думаю, что вы получите ваше решение

Добавить Application.Exit() в главной форме или MDI события закрытия формы как ниже

Private Sub frmMain_FormClosing (отправитель Как объект, e As System.Windows.Forms.FormClosingEventArgs) Обрабатывает Me.FormClosing Application.Exit() End Sub

 Смежные вопросы

  • Нет связанных вопросов^_^