65

参照先の DLL をローカル フォルダーに明示的にコピーするように設定しようとしていますが、この参照のプロパティに移動すると、Copy Localプロパティがグレー表示または無効になります。

無効なローカル プロパティのコピー

通常、私の VB.NET プロジェクトにMy Projectはプロジェクト名のすぐ下に項目があり、>> 参照をダブルクリックしてCopy Localプロパティを設定できますが、私の C# コンソール アプリケーションにはこれがないようです。

私のプロジェクトの参照

プロジェクトの構成が間違っている可能性がありますか? これに関するヘルプは大歓迎です。

4

1 に答える 1

96

このSO投稿から直接:

Hans の回答へのコメントは、これが COM アセンブリであり、Visual Studio 2010 を使用していることを示しています。

これは、"Embed Interop Types" 設定を true に設定してアセンブリ参照が追加された可能性があることを意味します。これには、COM アセンブリをバイナリにリンクする効果があり、完全にデプロイする必要がなくなります。次のリンクには、より詳細な説明があります。 en-us/library/dd409610.aspx それでも展開したい場合は、次の手順を実行する必要があります •参照タブで参照をクリックします •F4 キーを押してプロパティ グリッドを表示します •「Embed Interop Types」をFalse (これにより、Copy Local のグレーが解除されます) •「Copy Local」を true に設定します。

ローカルにコピーする場合は、アセンブリに対して を設定Embed Interop Typesする必要があります。Embed Interop Types を使用すると、アセンブリ内にアセンブリが埋め込まれ、相互運用アセンブリをアプリケーションと共に展開する必要がなくなるため、COM アセンブリの展開が容易になります。FalseMicrosoft.Office.Interop.Excel

于 2013-03-20T14:36:55.457 に答える