4

C++/CLI 混合モード実行可能ファイルを VS 2010 から VS 2012 に更新しています。.NET 4.5 と VS2012 ツールセットをターゲットにしています。

デバッグ ビルドでは完全にビルドおよび実行されますが、リリース ビルドはすぐに「このアプリケーションを開始できませんでした」で終了します。問題SHIM_NOVERSION_FOUND. _

問題のページには、「構成の問題を自分で解決することはできません。アプリのベンダーに連絡して問題を解決してください」と記載されています。問題のアプリ ベンダーとして、このアプリケーションの修正方法に関する情報を見つけるのに苦労しています。

アプリケーションは、C++ プロジェクトで適切な .NET バージョンを検出するためにどこに行くのでしょうか? また、.vcxproj またはソリューション ファイルに適切な情報を追加して、適切にビルドするにはどうすればよいでしょうか?

4

2 に答える 2

3

同様の問題に遭遇したため、次の 2 つのことを行う必要がありました。構成ファイルを使用し、ターゲット マシンに Framework 4.0 をインストールすることです。@CurtNicholsはその方向を指していましたが、最終的にすべてをまとめたリンクは次のとおりです: How to: Configure an Application to Support .NET Framework 4 or 4.5 .

これが app.config で、最終的には次のようになりました。

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

実際には、ポイント A からポイント B に到達するまでにかなりの手順が必要だったので、「残りのストーリー」を次に示します。

  • 「適切に初期化できませんでした」というエラーが発生し始めました。これは、XP をロードした仮想 PC に Framework 4.0 をインストールして修正しました。
  • そこで、ターゲット マシン (Windows 7 ボックス) に Framework 4.5 をインストールしてみました。
  • 今、私はSHIM_NOVERSION_FOUNDエラーを受けていました。
  • Framework 4.0 をインストールしようとしましたが、4.5 は 4.0 をアップグレードするため、もちろん冗長でした。
  • Framework 3.5 をインストールしようとしましたが、インストーラーが初期化されて何もしませんでした。おっと、Windows 7 に 3.5 が含まれていることを知りませんでした。
  • そこで、Framework 4.5 をアンインストールしました。当然のことながら、「正しく初期化できませんでした」に戻りました。
  • 別のスタック オーバーフローの投稿 (今は見つかりません。申し訳ありません) では、Windows の機能をチェックして、「Microsoft Framework 3.5.1」が完全に有効になっていることを確認するよう提案されています。ターゲット マシンでは、「Windows Communication Foundation」サブオプションのチェックが外されていました。だから私はそれらをチェックしました...そして同じ結果を得ました。
  • Framework 4.0 をインストールしました (4.5 をアンインストールしたので、これでインストールできました)。念のため、再起動しました。「ランタイムのバージョンが見つかりません」のようなものがまだあります。
  • さて、ついにあきらめて、MSDN エントリで参照されている app.config 設定を追加しました。しかし、最初に、3.5 または 4.0 で問題ないと言うことになっていた次のように試してみました。

    <supportedRuntime version="v2.0.50727"/> 
    <supportedRuntime version="v4.0"/>
    
  • それは間違いでした...おそらく、最初に4.0環境でコンパイルしたためです。「動作を停止しました」などのエラーが表示されました。

  • そこで、私は 3.5 仕様 (Microsoft では 2.0.5xxx とも呼ばれます) を取り除きました。(それはおそらくそうでした。)

プロセスの詳細が誰かに役立つことを願っています!

于 2013-10-08T18:27:23.947 に答える
0

これが私のために働いたものです:

プロジェクト プロパティ > ビルド > プラットフォーム ターゲット: 任意の CPU

于 2014-07-24T20:55:57.873 に答える