Подтвердить что ты не робот

.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?

4b9b3361

Ответ 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, когда будет предложено перезаписать файл.


  1. Убедитесь, что . Функция 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

Это зафиксировало ошибку.