1

私は ac#.Net (vs2005) ライブラリを維持しています。同僚が開発した fooLib と呼びましょう。現在、経営陣は、その名前をたとえば barLib に変更する必要があると決定しました。

名前を変更し、メタデータの一部 (著作権情報など) を変更し、gac に登録し、参照を削除して、それを使用する各プロジェクトに再度追加しました。

これまでのところ、とても良いですが、それを使用するプロジェクトがあり、デバッグバージョンをリンクするときに奇妙なエラーが発生しますが、リリースは警告なしで魅力的に機能します. fooLib.dll が見つからない (barLib.dll を検索する必要がある場合) という長いエラー メッセージが表示され、リンク ログが非アクティブ化されていることと、それをアクティブ化する方法が示されました。そうしましたが、返された唯一の新しい情報は、間違ったファイルを検索しているパスのリストです。ソリューションを最初から再構築することなく、どうすればこれを修正できますか?

4

2 に答える 2

2

プロジェクト ファイルを調べて、さまざまな構成で異常が発生していないことを確認してください。

「超クリーン」からソリューションを構築します - すべての bin/obj ディレクトリを手動で取り除きます。

デバッグ バージョンの「リンク」に問題があると言うとき、コンパイル時ではなく実行時に失敗するということですか?

于 2009-07-27T09:48:27.753 に答える
0

ビルドターゲットを「AnyCPU」から「x86」または「x64」に変更すると、機能するようです。リリースビルド(x86に設定されていた)を「任意のCPU」に変更すると、同じエラーで失敗します

しかし、ライブラリの名前が変更される前と同じように機能していました。かなり恐ろしいようです...

編集:今、それは本当に面白くなってきています。COM相互運用機能のレジスタをオフにしてプロジェクト構成を「Release|AnyCPU」に設定すると、正常にコンパイルされます。次に、デバッグに移動して[COM]チェックボックスをオンにしても、正常に機能します。次に、相互運用オプションをオンにしてリリースに戻りますが、失敗します。デバッグに戻りますが、失敗します。

于 2009-07-27T10:05:39.027 に答える