私は現在、プロジェクトに特定のアセンブリ参照を追加するだけで、実行時に別のアセンブリの一部の機能が壊れているように見えるという奇妙なバグを調査しています。詳細については、SOに関する別の質問を参照してください。
アセンブリ参照を追加するとどうなりますか?どのような副作用がありますか?
私は現在、プロジェクトに特定のアセンブリ参照を追加するだけで、実行時に別のアセンブリの一部の機能が壊れているように見えるという奇妙なバグを調査しています。詳細については、SOに関する別の質問を参照してください。
アセンブリ参照を追加するとどうなりますか?どのような副作用がありますか?
グローバル アセンブリ キャッシュ
グローバル アセンブリ キャッシュは厳密にはランタイム環境の一部であるため、グローバル アセンブリ キャッシュから参照を追加することはできません。
カスタム コンポーネント
グローバル アセンブリ キャッシュに登録されているカスタム コンポーネントへの参照を含むアプリケーションを展開またはコピーする場合、[ローカル コピー] の設定に関係なく、コンポーネントはアプリケーションと共に展開またはコピーされません。
別のプロジェクトの成果
同じソリューション内の別のプロジェクトの出力にファイル参照を追加しないでください。これを行うと、コンパイル エラーが発生する可能性があります。代わりに、[参照の追加] ダイアログ ボックスの [プロジェクト] タブを使用して、プロジェクト間の参照を作成します。
登録済みの COM DLL
内部マニフェストを含む登録済みの COM DLL への参照を追加する場合は、最初に DLL の登録を解除してください。そうしないと、Visual Studio はアセンブリ参照をネイティブ DLL ではなく ActiveX コンポーネントとして追加します。
EnvDTE 名前空間
EnvDTE 名前空間 (EnvDTE、EnvDTE80、EnvDTE90、EnvDTE90a、または EnvDTE100) のいずれかへの参照を手動で追加する場合は、[プロパティ] ウィンドウで参照の [相互運用型の埋め込み] プロパティを False に設定します。このプロパティを True に設定すると、特定の EnvDTE プロパティを埋め込むことができないため、ビルドの問題が発生する可能性があります。