Cut*_*ute 3 c# c++ sql-server windows-server-2008 visual-c++
我使用visualstudio通过c ++创建了一个exe.我创建了一个com componet,它发现特定机器上的sqlserver的所有实例.在使用visualstudio的c ++程序中,我编写main()并使用com组件.
现在它应该在我的两个工作站上工作,这是w2k3机器.当我尝试在w2k8机器上运行相同时我得到错误
应用程序无法启动,因为并排配置不正确,有关详细信息,请参阅应用程序事件错误日志
我打开应用程序错误日志,发现错误为
"E:\ SQLDiscovery.exe"的激活上下文生成失败.无法找到依赖程序集Microsoft.VC80.DebugCRT,processorArchitecture ="x86",publicKeyToken ="1fc8b3b9a1e18e3b",type ="win32",version ="8.0.50608.0".请使用sxstrace.exe进行详细诊断.
如何解决这个问题PLZ帮助我
您必须在W2k8上安装VC8 Runtime.这是由于Windows并排配置.构建和EXE时,会生成一个名为"manifest"的特殊文件,此清单文件描述应用程序为正确运行所需的C运行时库的版本.
然后将Manifest嵌入到您的exe/dll中(如果您实际使用记事本打开.dll/exe并滚动到最后,您将以xml格式看到它),您还可以使用mt.exe(清单工具)来查看任何可执行文件中的清单.
当您将应用程序移动到W2k8时,您必须确保安装了从属CRT(除非您将应用程序静态链接到CRT).
您可以通过以下任一方法解决此问题1-安装VC8 Debug CRT 2-将您的应用程序构建为静态链接
查看此博客 http://detritus.blogs.com/lycangeek/2006/08/diagnosis_of_wi.html 它包含有关如何调试winsxs问题的有用信息.
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
5086 次 |
| 最近记录: |