0

あるマシンにDLLプロジェクトがあり、新しくインストールしたVS2008を使用して別のマシンにコピーしました。プロジェクトはビルドされますが、デバッグできません。Dependecy Walkerは、私のDLLがmsvcr90d.dllを認識していることを示していますが、msvcp90d.dllは同じDLLを認識していません。しかし、別のウィンドウでmsvcp90d.dllを開くと、msvcr90d.dllがmsvcp90d.dllに表示されます。これは明らかにSxSの問題ですが、解決方法がわかりません。グーグルで見つかったいくつかの提案された修正を試しました:

  • インクリメンタルリンクを無効にし、
  • マニフェストの作成を削除してから含める
  • My Documents \ VisualStudio2008から設定フォルダーを削除します

それらのどれも動作しません。状況は、デバッグビルドとリリースビルドの両方で同じです。ヘルプ!

4

2 に答える 2

0

VS 2008のサービスパックをインストールしましたか?

これがデバッグできない理由であると確信していますか?あなたのdllはCライブラリ(msvcr90d.dll)に依存するc ++ライブラリ(msvcp90d.dll)の何かを使用していますか?何も必要ない場合は、不要なコードをリンクしません。

リンカー設定でこのライブラリを明示的に無視しましたか?

于 2010-08-11T20:20:17.887 に答える
0

問題が発生したコンピューターに最新のプロジェクトをコピーしたところ、結局問題はないことがわかりました。Dependancy Walkerは以前と同じ黄色のアイコンを表示しますが、最新のプロジェクトは問題なくデバッグできます。問題は明らかに私のコードにあり、おそらくC#宣言と実際のDLL実装の間の関数シグネチャの不一致でした。

于 2010-08-31T10:57:19.237 に答える