.Net framework mscorpe.dll ошибка
У меня есть клиентская машина с установленной Windows 7 Professional. Чтобы запустить мое последнее приложение, я установил .Net Framework версии 4.0, загрузился из здесь. Мое приложение работает нормально.
Однако есть еще одно приложение, разработанное в .Net framework 3.5. Когда я пытаюсь выполнить это приложение, я получаю сообщение об ошибке:
C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorepe.dll - либо не предназначен для работы в Windows или содержит ошибку...
![enter image description here]()
Я попытался удалить .Net framework 4.0 и снова установить его, и я попытался его исправить, но ничего не работает. Ошибка остается.
Я попытался установить .Net framework 3.5 отдельно, но я не могу его установить, так как более новая версия (4.0) уже установлена на компьютере.
Приложение с версией 3.5 отлично работает на других клиентских компьютерах, поэтому я думаю, что проблема изолирована от установки .NET Framework на этой конкретной машине.
Есть ли способ отремонтировать mscorpe.dll
или переустановить .Net framework 3.5?
Ответы
Ответ 1
Сначала убедитесь, что файл поврежден и что его невозможно восстановить автоматически.
Run:
sfc /scanfile=C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorepe.dll
Если вы видите сообщение:
Windows Resource Protection found corrupt files but was unable to fix some of them.
Это означает, что и файл, и файл резервной копии, который Windows использует для выполнения ремонта, повреждены.
Windows не может автоматически восстановить файл, и этот конкретный файл не будет заменен при переустановке .Net 3.5 framework.
Чтобы восстановить файл вручную:
Соблюдайте файл:
takeown /f C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll
Предоставьте необходимые разрешения для перезаписывания файла:
icacls C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll /GRANT ADMINISTRATORS:F
Замените файл оригиналом с установочного DVD. Обратите внимание, что это предполагает, что DVD доступен на диске D:. При необходимости измените букву диска в соответствии с вашими настройками.
"C:\Program Files (x86)\7-Zip\7z.exe" e D:\sources\install.wim -oC:\Windows\Microsoft.Net\Framework64\v2.0.50727\ 4\windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll
Введите Y
, когда будет предложено перезаписать файл.
- Убедитесь, что . Функция Net 3.5 Windows включена и повторно протестирует ваше приложение.
Примечание. Если у вас нет доступа к установочному DVDу Windows или ISO, вы можете запустить первые две команды, а затем скопировать mscorpe.dll
с другого компьютера под управлением Windows 7 Professional x64. Убедитесь, что вы скопировали его из папки C:\Windows\Microsoft.Net\Framework64\v2.0.50727\
.
Ответ 2
Ответ Криса О'Нила помог мне в решении моей проблемы, я немного изменил ее, и вот что я сделал.
Скопировал рабочий файл mscorpe.dll на локальный компьютер с другого компьютера
Открыть командную строку в режиме администратора
Выполните следующую команду в командной строке
Commnad:
takeown /f C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll
(соответственно отрегулируйте свои пути)
Он возвратил сообщение вроде:
УСПЕХ: Файл (или папка):
"C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll" сейчас принадлежащий пользователю "loggedInUser".
После этого выполняется следующая команда для предоставления привилегий.
Команда:
icacls C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll /GRANT ADMINISTRATORS:F
Получил следующий ответ.
обработанный файл: C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll Успешно обработано 1 файл; Не удалось обработать 0 файлов
Затем я скопировал правильный файл, скопированный с другого компьютера в это место:
xcopy c:\K2PublisherError\mscorpe.dll C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorpe.dll /y
Это зафиксировало ошибку.