Файл или каталог повреждены и не читаются в файлах .exe, созданных из VS - PullRequest
0 голосов
/ 06 мая 2020

Итак, все файлы .exe, которые я создаю из Microsoft Visual Studio, продолжают выдавать сообщение об ошибке The file or directory is corrupted and unreadable, когда я хочу их запустить. Это происходит только на специальной машине c Windows 10. Этого не происходит на других машинах Windows 10. Я попытался воссоздать .exe как из VS 2017, так и из VS2019. Я также пытался создать WPF, Win Forms и консольные приложения. Проблема остается, пока это .exe, созданное из VS. Другие файлы .exe, например, .exe, загруженные из inte rnet или файлы в Program Files, работают отлично. Я читал о запуске scs \scannow, но проблема не устранена.

Here is the error message.

Любой, кто сталкивался с этим раньше, и как вы его решили?

Ответы [ 3 ]

0 голосов
/ 06 мая 2020

Эта ошибка часто является признаком неисправности диска / файловой системы.

  1. Я бы попытался переместить скомпилированные файлы из этой папки в другую папку, желательно на другой (физический) диск. Затем проверьте, работает ли он там.

  2. Если вариант 1 не работает, вы можете попробовать пересобрать файлы в другую папку, а также в другую (физическую ) желательно.

Если одно из обоих вышеперечисленных решений работает, это означает, что у вас действительно может быть проблема с FS / HDD. Попробуйте запустить chkdsk /f c: на неисправном диске, чтобы проверить наличие ошибок.

Если и это не сработает, попробуйте переустановить Visual Studio.

0 голосов
/ 09 мая 2020

Причина, по которой я столкнулся с указанной проблемой, заключается в методах передачи данных (Teamviewer, AnyDesk и Microsoft Remote Desktop), которые я использовал для перемещения файлов между двумя компьютерами.

Я обнаружил, что проблема не только в файлах .exe. Я не мог открыть любой файл, который я скопировал на эту конкретную c Windows 10 машину, на которой возникла проблема. Это может вызвать то же сообщение об ошибке. В этом случае я согласен, что это проблема ОС. Однако я не был готов переустанавливать машину.

Итак, чтобы решить эту проблему, я использовал FTP для перемещения файлов между двумя компьютерами. Я загрузил файл .exe на FTP-сервер с одного компьютера и загрузил .exe на другой компьютер, на котором возникли проблемы. После этого загруженные файлы можно было открывать без проблем.

0 голосов
/ 06 мая 2020

Итак, все файлы .exe, которые я создаю из Microsoft Visual Studio, продолжают выдавать сообщение об ошибке. Файл или каталог повреждены и нечитаемы, когда я хочу их запустить. Это происходит только на определенной машине c Windows 10.

Поскольку проблема возникает только с одной машиной, кажется очевидным, что что-то сломано на этой машине . Либо с ОС (маловероятно), либо с установкой IDE или компилятора, либо, по крайней мере, с этой специальной c папкой.

Изменить: поскольку поведение следует за файлом, мы можем предположить, что это не ОС. Только что-то, связанное с процессом сборки.

Вы можете попробовать удалить эту папку, а затем выполнить чистую переустановку IDE и Framework. Но надежным решением было бы просто переустановить этот компьютер, начиная с файловой системы. Это ошибка, которую вы можете потратить дни на отладку, но все равно никуда не денетесь. И даже если бы вы могли это исправить, действительно ли вы могли бы полагаться на компьютер, чтобы не иметь других критических ошибок? Может быть, те, которые не показывают полезное сообщение об ошибке?

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

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

...