これはCLRプロジェクトです。同じ名前の2つのDLLファイルquizz.dll
(古いバージョンの名前をlegacyquizz.dll
に変更)をインポートし、新しいバージョンをquizz.dll
としてレガシーコンバーターのテストプロジェクトに含めます(レガシーコンバーターテスト対象のプロジェクトは、古いquizz.dll
のみをインポートします。
これは私が得ているエラーです。 。 。
同じ単純な名前のアセンブリ 'Quizz、Version = 2.0.0.1、Culture = neutral、PublicKeyToken = nullはすでにインポートされています。
参照の1つを削除するか、それらに署名して、並べて有効にしてみてください。 c:\。 。 。\Quizz.dll
それが指しているパスは、新しいバージョンのquizz.dllの宛先です。
私はlegacyquizz.dllファイルで外部エイリアスを使用しています:
extern alias legacy;
この文脈での「単純な名前」とは何ですか?
プロジェクトのプロパティを開き、[アセンブリ情報]を選択すると、単純な名前が表示されます。
アセンブリに署名するには、[署名]タブを選択し、署名キーを作成または選択する必要があります。
同じ名前のアセンブリが2つあります(ファイル名ではなく、アセンブリ名)。これには2つの解決策があります。
新しい.csprojバージョンを使用している場合、別のソリューションプロジェクトへの参照を追加した後、その参照が既にアセンブリ依存関係として存在していると、この問題が発生する可能性があります(この参照はVisual Studioによって自動的に追加された可能性があります)。
ソリューションエクスプローラーで、競合するプロジェクトを展開し、依存関係->アセンブリに移動して、競合を引き起こしているアセンブリへの既存の参照がないことを確認します。存在する場合は、削除するだけで競合が解決されます。