代码之家  ›  专栏  ›  技术社区  ›  TallGuy

如何设置vc++运行时visual studio 2005的目标版本

  •  0
  • TallGuy  · 技术社区  · 15 年前

    我有一个应用程序,它包含一个vc++项目(以及c项目)。以前(例如,在过去的一年左右)当一个构建完成时,visual studio 2005似乎瞄准了vc++运行时版本8.0.50727.762。至少,assembly.dll.intermediate.manifest文件告诉我:

    <?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' />
        </dependentAssembly>
      </dependency>
    </assembly>
    

    此版本号与Visual Studio 2005版本号匹配。当部署到web服务器时,应用程序运行良好。阳光明媚,鸟儿歌唱,一切都很好。

    现在有些事情改变了。我不知道是什么-一个安全补丁,一个模糊的visual studio设置什么的。现在,visual studio 2005似乎瞄准了错误版本的vc++运行时:

    <?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.4053' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
        </dependentAssembly>
      </dependency>
    </assembly>
    

    当我将应用程序部署到web服务器时,我会害怕 由于应用程序配置不正确,此应用程序无法启动。重新安装应用程序可能会解决此问题。(hresult的异常:0x800736b1) 错误。

    即使我重新编译以前版本的应用程序,也会出现此问题。我完全可以保证 什么都没有 已在解决方案中更改-我们将解决方案的全部内容压缩为构建过程的一部分并将其存档。我已经将这些文件解压缩到一个临时目录,验证了以前的清单文件引用了8.0.50727.762,在命令行使用完全相同的命令重新编译,然后验证了新的清单文件现在引用了8.0.50727.4053。

    我使用的是微软Visual Studio 2005版本80.50727.762(SP.050727—7600)和微软Visual C++ 2005 72466-08- 000000 74-41610。

    为什么visual studio会还原到以前版本的vc++运行时?如何指定应使用哪个版本?这里出什么事了?

    更新

    天啊-我真是个白痴。x.7>x.4,但是,x.762<x.4053,其中x是版本号。所以8.0.50727.4053是 最近 大于8.0.50727.762。现在一切都有了意义。我留下这个作为个人的提醒,我一直认为我是世界上最聪明的人…

    2 回复  |  直到 15 年前
        1
  •  1
  •   Charles    15 年前

    可能是你的开发机器安装了一个更新vc++运行时的新服务更新。没什么大不了的,只要在你的网络服务器上安装所有你需要的更新,事情就会再次变得棘手。

    如果确实需要还原,则需要查找并卸载更改运行库的更新,无法在vs 2005中更改选定的运行库,它将使用找到的最新的运行库。

        2
  •  0
  •   Vipin    15 年前

    使用“绑定到当前版本1”(其中xxx是crt/mfc/atl/openmp)在vistualstudio rtm的vcredit和dev box上的最新版本之间进行选择。

    http://msdn.microsoft.com/en-us/library/cc664727%28VS.90%29.aspx

    注:不太确定,但有关于“绑定到当前vclibs”版本的问题报告,所以最好为每个mfc/atl等使用宏。