如何解决SHIM_NOVERSION_FOUND错误消息 [英] How to address SHIM_NOVERSION_FOUND error message

查看:579
本文介绍了如何解决SHIM_NOVERSION_FOUND错误消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我更新一个C ++ / CLI混合模式可执行从VS 2010年至2012年VS我们针对.NET 4.5和VS2012工具集。

I am updating a C++/CLI mixed mode executable from VS 2010 to VS 2012. We're targeting .NET 4.5, and the VS2012 toolset.

它的建立和运行完美的调试版本,但版本立即建立在退出此应用程序无法启动。并且都到了<一个链接href="http://support.microsoft.com/kb/2715633?version=%28null%29&processName=evs_mvs.exe&platform=0009&osver=6&isServer=0"相对=nofollow> Microsoft支持页面这表明问题是 SHIM_NOVERSION_FOUND

It's building and running perfectly in Debug builds, but the Release builds immediately exit with "This application could not be started." and a link which goes to a Microsoft Support page suggesting that the problem is SHIM_NOVERSION_FOUND.

在问题的网页指出:你不能自行修复的配置问题,请联系该应用程序供应商,以解决这个问题。由于有问题的应用程序供应商,我有困难的发现对如何处理纠正这种应用程序的任何信息。

The page in question states "You can't fix the configuration problem yourself. Contact the app vendor to resolve the issue." As the app vendor in question, I'm having difficulty discovering any information on how to approach correcting this application.

在哪里申请去发现正确的.NET版本的C ++项目,你怎么去添加适当的信息提供给.vcxproj或解决方案的文件,以获得它建立正确?

Where does the application go to discover the proper .NET version in a C++ project, and how do you go about adding the proper information to the .vcxproj or Solution files in order to get it to build properly?

推荐答案

我遇到了类似的问题,我不得不做两件事情:使用一个配置文件,并在目标计算机上安装Framework 4.0。 @CurtNichols指向这个方向,但在这里,最终把它结合在一起的链接:的如何配置应用程序以支持.NET框架4或4.5

I ran into a similar issue, and I had to do two things: use a config file, and install Framework 4.0 on the target machine. @CurtNichols pointed in that direction, but here's the link that eventually pulled it all together: How to: Configure an Application to Support .NET Framework 4 or 4.5.

下面是我结束了在app.config:

Here's the app.config that I ended up with:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

其实,花了相当多的措施从A点到B点,所以这里是故事的其余部分:

Actually, it took quite a few steps to get from point A to point B, so here is "the rest of the story":

  • 在我开始收到未能正确初始化的错误,我有我的XP加载虚拟PC上通过它安装Framework 4.0中纠正。
  • ,所以我想在目标计算机上安装框架4.5(在Windows 7中)
  • 现在,我得到了 SHIM_NOVERSION_FOUND 错误。
  • 在我尝试安装框架4.0,但当然,这是多余的,因为4.5升级4.0。
  • 在我尝试安装框架3.5,但初始化,然后安装什么也没做。哎呀,我不知道3.5是包含在Windows 7。
  • 所以我卸载了框架4.5。毫不奇怪,我又回到了未能正确初始化。
  • 在另一个堆栈溢出后(我找不到了,抱歉)建议检查Windows功能,以确保微软框架3.5.1被完全启用。在目标计算机上的Windows通信基础子选项都选中。所以,我检查了他们......,得到了相同的结果。
  • 在我安装了框架4.0(我可以做了,因为我卸载4.5)。为了保险起见,我重新启动。不过得到的东西,如无法找到一个版本的运行时。
  • 现在,我终于放弃了,并添加在MSDN项中引用在app.config设置。但首先,我试了一下这样的,这是应该说,我会被罚款3.5或4.0:

  • I started out getting a "failed to initialize properly" error, which I had corrected on my XP-loaded Virtual PC by installing Framework 4.0 on it.
  • So I tried installing Framework 4.5 on the target machine (a Windows 7 box)
  • Now I was getting the SHIM_NOVERSION_FOUND error.
  • I tried installing Framework 4.0, but of course that was redundant because 4.5 upgrades 4.0.
  • I tried installing Framework 3.5, but the installer initialized and then did nothing. Oops, I didn't know that 3.5 is included in Windows 7.
  • So I uninstalled Framework 4.5. Not surprisingly, I went back to "failed to initialize properly".
  • Another Stack Overflow post (which I can't find now, sorry) suggested checking in Windows Features, to be sure "Microsoft Framework 3.5.1" was fully enabled. On the target machine, the "Windows Communication Foundation" sub-options were unchecked. So I checked them... and got the same result.
  • I installed Framework 4.0 (which I could do now, because I uninstalled 4.5). Just to be sure, I rebooted. Still got something like "unable to find a version of the runtime".
  • Now, I finally gave up and added the app.config settings referenced in the MSDN entry. But first, I tried it like this, which was supposed to say that I would be fine with 3.5 or 4.0:

<supportedRuntime version="v2.0.50727"/> 
<supportedRuntime version="v4.0"/>

  • 这是一个错误......可能是因为我原来编译在4.0环境。我得到了像已停止工作。

  • That was a mistake... probably because I originally compiled in a 4.0 environment. I got an error like "has stopped working".

    希望的过程中提供帮助的人的详细资料!

    Hope the details of the process help someone!

    这篇关于如何解决SHIM_NOVERSION_FOUND错误消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆