.Net 框架 mscorpe.dll 错误

.Net framework mscorpe.dll error

我有一台安装了 Windows 7 Professional 的客户端机器。为了 运行 我的最新应用程序,我安装了 .Net Framework 4.0 Full,从 here 下载。我的应用程序工作正常。

不过,还有一个应用是用.Net framework 3.5开发的。当我尝试执行该应用程序时,出现错误:

C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorepe.dll is either not designed to run on Windows or it contains an error ...

我已经尝试删除 .Net framework 4.0 并重新安装它并尝试修复它,但似乎没有任何效果。错误仍然存​​在。

我试过单独安装.Net framework 3.5,但我无法安装,因为机器上已经安装了较新的版本(4.0)。

3.5 版的应用程序在其他客户端机器上运行良好,所以我猜这个问题与该特定机器上的 .Net Framework 安装无关。

有没有办法修复mscorpe.dll或重新安装.Net framework 3.5?

首先,确认文件已损坏且无法自动修复。

运行:

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 框架时不会替换该特定文件。


要手动恢复文件:

  1. Install 7-Zip (the 32-bit x86 version).
  2. Open an administrative command prompt.
  3. 将 Windows 7 Professional 的副本插入 DVD 驱动器或安装 ISO 映像。
  4. 运行 在管理命令提示符下执行以下命令。

获取文件的所有权:

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)-Zipz.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 feature is enabled 并重新测试您的应用程序。

注意:如果您无法访问 Windows 安装 DVD 或 ISO,您可以 运行 前两个命令,然后从 mscorpe.dll另一台机器 运行ning Windows 7 Professional x64。确保从 C:\Windows\Microsoft.Net\Framework64\v2.0.50727\ 文件夹中复制它。

帮助我解决了我的问题,我对其进行了一些修改,这就是我所做的。

从另一台机器复制了工作 mscorpe.dll 到本地计算机 在管理员模式下打开命令提示符 在命令提示符下执行以下命令

命令:

takeown /f C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll

(相应地调整你的路径) 它返回了如下消息:

成功:文件(或文件夹):

"C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll" now owned by user "loggedInUser".

之后执行以下命令授予权限。 命令:

icacls C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll /GRANT ADMINISTRATORS:F

收到以下回复。

processed file: C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorpe.dll Successfully processed 1 files; Failed processing 0 files

然后我将从另一台机器复制的正确文件复制到那个位置:

xcopy c:\K2PublisherError\mscorpe.dll C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorpe.dll /y

这修正了错误。