2016-04-23 6 views
3

私はAccordライブラリとAForgeライブラリから何かを使いたいと思っていました。このコード行でタイプは両方のDLLにあります

Error CS0433 
The type 'IntPoint' exists in both 
    'AForge, Version=2.2.5.0, Culture=neutral, PublicKeyToken=c1db6ff4eaa06aeb' and 
    'Accord, Version=3.0.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7' 

::私はそれをインストールしたときしかし、私は次のエラーを取得開始

startingPoint = new IntPoint(point.X, point.Y); 

どのように私は私がこれだけのオリジナルAForge DLLを使用することを保証することができますか?おそらく回避策はありますか?

私は

AForge.IntPoint 

を試みたが、それは結局のところ、アコードが同じ名前空間を使用しています...!

+1

Accord.Netのように、参照を使用する代わりにAForgeソースコードをコピーしました。卑劣なプロジェクトからAForge参照を削除する必要があるので、* extern alias *との戦いよりも簡単であるはずです。 –

+0

@HansPassant残念ながら、私は 'AForge'に依存する' AForge.Imaging'からのものが必要です。 'AForge'への参照を削除するとすぐに、' AForge'への参照を追加する必要があることがわかります。 –

+0

Accord.NETは、参照を使用する代わりにAForge.NETソースコードをうっかりコピーしませんでした.AFord.NETが中止されたため、効果的にAForge.NETを置き換えました。しばらくの間、Accord.NETは同じ名前空間を持つAForgeと同じコンテンツを提供していたので、既存のプロジェクトの代わりに使うことができました。 – Cesar

答えて

3

プロジェクトのReferencesを開き、違反者を右クリックして[プロパティ]を選択します。

enter image description here

は、カスタム名に、あなたのエイリアスを変更し

enter image description here

を次に、あなたのコードの中で、あなたの問題の参照を使用したい時はいつでも、単にあなたのファイルの先頭にこれを挿入します。

extern alias MyAlias; 
+1

* AForge.Imaging *のすべてのコードは、Accord 3.0から* Accord.Imaging *に完全に含まれています。したがって、* AForge.Imaging *を参照する必要はありません。 –

0

Delete all existing files prior to publish enter image description here

関連する問題