Add References
ダイアログのリストから参照を追加します。これは、次のようになり、あなたの.csproj
にエントリを追加します。
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
あなたのプロジェクトでこれらのDLLを出荷しません。あなたは、ネットワークフレームワークのredistセットアップを出荷することができますが、あなたがダウンロードを提供しているのではなく、プログラムの物理的なコピーを発送する場合には、それは良い考えです。あなたのプログラムにそれらを含めることはおそらく著作権侵害です。 Monoではもちろん、将来のwindows/.netバージョンなどで別のSystem.Windows.Forms
アセンブリを使用する必要があります。このファイルの独自のコピーを配布した場合は動作しません。
これらのアセンブリは、GACからロードされます。結局のところ、それらが.netフレームワークの一部なので、それはうまくいきます。コンパイルされた参照はmscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
のようになります。このようにして、フレームワークは正しいバージョンを選択し、参照アセンブリが正しい作成者からのものであることを確認します。
GACを使用しないというガイドラインは、お客様または第三者のアセンブリを指します。それらをあなたのアプリケーションとともに出荷し、あなたのメインプログラムと同じディレクトリに置くだけです。それらをGACに追加することは、いくつかの特定のシナリオでのみ必要です。
".NETプログラムを開発するためのベストプラクティスはこれだと思われます。開発中にGACのDLLを決して参照しないでください。" [要出典] GACに自分のアセンブリを追加するのは好きではありませんが、GACのシステムアセンブリを参照することについて聞いたことはありませんでした。 – CodesInChaos