複数のフォルダー(Folder1、Folder2)を持つC#プロジェクトがあります。
すでに「Folder2」にあるxmlファイルに「Folder1」のショートカットを追加しました。この場合、プロジェクトをコンパイルすると、xmlファイルはアセンブリに2つのコピーを持ちますか?
複数のフォルダー(Folder1、Folder2)を持つC#プロジェクトがあります。
すでに「Folder2」にあるxmlファイルに「Folder1」のショートカットを追加しました。この場合、プロジェクトをコンパイルすると、xmlファイルはアセンブリに2つのコピーを持ちますか?
説明が明確ではありませんでした-ショートカットを使用してファイルを参照しましたか、それともVS Solution Explorerを使用して既存のアイテムをリンクとしてFolder1に追加しましたか?
2つの方法はまったく異なります。単にファイルシステムにアクセスしてショートカットを追加した場合、特に追加しない限り、それは自動的にプロジェクトの一部にはなりません。また、追加した場合は、明らかにコンパイルできません。最善の方法は、[コンパイルなし]に設定して、出力ディレクトリにコピーすることです。
VSソリューションエクスプローラーを使用してファイルをフォルダー1に追加し、リンクとして追加した場合、そのファイルはプロジェクトの一部になり、2回含まれますが、bin/debugまたはbin/の下のFolder1に配置されます。ビルド時にフォルダを解放します。それらは異なるフォルダにあり、コンパイルされず、出力ディレクトリの下のフォルダ構造にコピーされるだけなので、衝突は発生しません。
編集:リソースまたは埋め込みリソースに設定しない限り、アセンブリの一部にはなりません。そうすると、はい、アセンブリ内にありますが、2つの異なるリソースパスの下にあります。
ソリューションエクスプローラーで選択したファイルのプロパティ(コンテキストメニュー)で、[ビルドアクション]プロパティを[コンパイルなし]に変更します。