Visual Studio 2008 で、(プロジェクト ルートにある) WinScp.dll を参照として追加すると、すぐに黄色のアイコンが表示されました。コンパイル時:
- 型または名前空間名 'WinSCP' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
- 解決されたファイルは、イメージが悪いか、メタデータがないか、またはアクセスできません。ファイルまたはアセンブリ 'E:...\winscp.exe' またはその依存関係の 1 つを読み込めませんでした。モジュールには、アセンブリ マニフェストが含まれている必要がありました。
1 時間のフラストレーションの後、WinSCP.exe をプロジェクト ファイル (プロジェクト ルートにもある) として削除すると、すべてが正常にコンパイルされることがわかりました。変!!!!
問題は、出力ディレクトリに WinSCP.dll と WinSCP.exe の両方が必要なことです。私は何をしますか?
編集:ファイルの名前を変更したり、パスを変更したりするなどの回避策があることを理解しています。最初にexeの名前を変更しました。コードで名前を変更したexeも指定する必要がないため、dllの名前を変更します(@Michaelに感謝します)。
しかし、そもそもなぜ問題があるのでしょうか。WinSCP.dll と WinSCP.exe は 2 つの異なるファイルです。これは Visual Studio のバグですか、それとも私が理解できない dll/exe の複雑さですか?