リンカーには、他のプロジェクトに関する中間情報が欠落しているようです。「参照」ネイティブプロジェクトがリンクフェーズを自動的に設定するかどうかは本当に覚えていません..実際、あなたが「参照」と言うのは奇妙だと思います..私にとって「参照」という言葉は.Netの世界に少し限定されていますVS の「参照の追加」のため、誰もインクルード/ライブラリを気にせず、明らかな理由でネイティブ dll に対してどの IIRC を使用できないかが原因です。リンカー オプションを手動で設定したという意味でしたら、ご容赦ください :)
そうでない場合は、ネイティブ モジュールをどのように参照したかを説明してください。
いずれにせよ、「参照」が以前に機能していた場合、プロジェクトの名前を変更した場合、ファイルのタイムスタンプが少しずれていて、VS が新しいバージョンに気付かなかった場合などに、ファイル名が同期しなくなる可能性があります。そうでない場合は、Debug/Release/Bin/Obj フォルダーを手動で削除して、再構築を再試行できます。
診断を試みるための最初のステップは、リンカが入力として与えられているものを確認することです。C++/CLI プロジェクトのプロジェクト プロパティ ページで、[リンカ] -> [コマンドライン] をチェックし、「myOtherNativeCppProjectName.lib」のような名前のファイルがあるかどうかを確認します。そこに見える。そうでない場合-ここに問題があります。以前のリンカーページのリンカーオプションに追加するか、参照の追加をやり直してから、クリーンアップして再構築し、何が起こるかを確認してください。
さらに言うと、エラーメッセージ全体を投稿する必要があります-これは関数名で切り捨てられているため、それが関数なのか、ライブラリが見つからないモジュールなのかを判断するのは困難です。コンパイル フェーズが成功し、問題がリンクにあるため、その関数が実装されていることを 100% 確信していますか? つまり、C++/CLI プロジェクトには正しい .h が提供されたはずですが、ネイティブに含まれる .h ファイルと一致する正しい .cpp ファイルはありましたか? 1 つのファイルを追加するのを忘れるのもよくあることです。または、テンプレートをインスタンス化するのを忘れる..または、.H と .CPP. の間でクラス/関数名を間違って入力する..