2

当我尝试从 Visual Studio 2005 (SP1) 启动我的项目的发布版本时,我收到以下错误消息:

“此应用程序无法启动,因为未找到 MSVCP80.dll。重新安装应用程序可能会解决此问题”

当我查看发布版本的清单时,它指定了以下内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

当我查看 Windows/WinSxS 文件夹时,我有以下版本的 CRT:

x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.163_x-ww_681e29fb
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.3053_x-ww_b80fa8ca
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700

所有这些文件夹都包含所需的 dll。在我的固定电脑上,使用完全相同版本的 Visual Studio,一切正常。

这是踢球者,在问题浮出水面之前,我设法在发布和调试中只启动了一次程序。debug-build 的输出显示 WinSxS 中的DebugCRT .762*-dll 是第一次加载的,但现在当我尝试启动程序时,它找不到这些 dll。

唯一的外部依赖是 ws2_32.lib。

我刚刚重新安装了笔记本电脑上的所有内容(Windows XP、Visual Studio、Service Pack 等),但无济于事。

如果我删除对 ws2_32.lib 的引用,程序就会启动。

请帮帮我,我要把我全新的笔记本电脑扔出窗外:(

亲切的问候

安德烈亚斯·布林克

4

1 回答 1

3

可能是注册表问题。执行建议并重新安装 MS CRT

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647

这是 VS 2005 SP1 中使用的版本。

还要检查你的VS安装,你应该也有这些dll

%程序文件%\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

如果没有,您可以对 VS 2005 安装进行修复。

希望这可以帮助。

干杯,

佩里卡

于 2009-06-19T11:58:57.543 回答