2010-12-28 9 views
1

私のVisual Studio 2010ソリューションには4つのプロジェクトがあります。プロジェクトの1つはC++のDLLです。残りの3つのC#.Netプロジェクトに、このマネージC++プロジェクトのプロジェクト参照を追加しました。これをコンパイルしようとすると、C#コードのusing namespace statementにエラーが発生しました。 C++コードコンパイル時にC#.NetにアクセスできないマネージC++ネームスペース

namespace A <---- Defined in managed C++ as well as C# 
{ 
    namespace B <---- Only defined in managed C++ 
    { 
     public ref class MyClass 
     { 
     } 
    } 
} 

マネージド

今、私は私のC#のように C#でのMyClassを使用したいです。ネットコード

using A.B; <-------- Here it gave error for B; 

外部名前空間、つまりAは、C#および管理されたC++プロジェクトで定義/使用されます。しかし、内部の名前空間、すなわちBは、管理されたC++でのみ定義されている。私はC#アプリケーション内の名前空間にアクセスすることができません。

おかげで、 Omky

+0

C#プロジェクトをC#プロジェクトの依存関係に追加して再構築しようとしましたか? – eigenein

+1

はい、動作しませんでした。 – Omkar

+0

管理されたC++のDLLを反映させ、本当にA.B.MyClassが含まれていることを確認することは価値があります。 – eigenein

答えて

0

はい....私はそれを見つけました。私はビルドの設定と出力path.Meansを確認する必要があることを学びました。リリースをビルドしたい場合は、すべての依存バイナリの設定をリリースし、デバッグの設定も参照してください。

申し訳ありません...私の間違いを理解しました。あなたの助けに感謝します。

+0

もっと深く説明してください。プロジェクトを依存関係として参照しましたが、依然として名前空間は見つかりませんでした。 –

1

global "::" operatorヘルプをしませんか?

+0

残念ながら、それはしませんでした:( – Omkar

+0

C++プロジェクトおよび/またはC#プロジェクトの他の/別の名前空間のオプション/ソリューションですか? –

1

正確なエラーメッセージを引用しないで、エラーに関する質問をするのは常に間違いです。しかし、あなたが典型的に見るものにはこのフレーズが含まれています:

アセンブリ参照がありません。

関連する問題