|
分類:[.NET 全般]
いつもお世話になっております。
開発環境:Windows7 / VS2010 / C#
現在、C#でFormを作成し、そのウィンドウハンドルをC++側に渡してC++がそのウィンドウに表示する、 なんていうことをしています。
ウィンドウハンドルを取得する関数をC++側に呼んでもらうために、 このC#のプロジェクト内にあるAssemblyInfo.csにて、 ComVisibleをtrueに指定しています。
さて、このC#プロジェクトにおいて、別のDLLを使用したいといった状況になったのですが、 このDLLのサンプルコードはあるのですが、ソースコードが見つからず、 DLLのみで開発を続けようと思っております。
サンプルプロジェクトを1つ作り、このDLLを用いて予想通りの挙動を得られたのですが、 本来のC#プロジェクトに入れた場合に、 どうもアセンブリを発見できず、実行時エラーになってしまう状態になりました。
エラー内容: ファイルまたはアセンブリ '「ライブラリ名」, Version=1.00, Culture=neutral,PublicKeyToken=xxxxxxxx(書いていいのかわからんのです)'、 またはその依存関係の1つが読み込めませんでした。指定されたファイルが見つかりません。
Dllだけですと、tlbファイルの作成はできるものの、GACUtilコマンドで失敗しますので、どうしたものかと…。
何か良い方法などご存知ありませんか? AssemblyInfo.csにComVisibleをtrue指定しているだけなので、別プロジェクトを作って入れればうまくいったりしないのかな?とか淡い期待を抱いていますが…。
|