Вы добавляете ссылки из списка в диалоге 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>
Вы не отправляете эти библиотеки вместе с вашим проектом. Вы можете отправить заново установочную платформу .net framework, но это хорошая идея, если вы отправляете физические копии своей программы, а не если вы предлагаете скачать. Включение их в вашу программу, вероятно, является нарушением авторских прав. И, конечно, в Mono, в будущих версиях windows / .net и т. Д. Необходимо использовать другую сборку System.Windows.Forms
, которая не будет работать, если вы распространите свою копию этого файла.
Эти сборки будут загружены из GAC. Но это нормально, поскольку они являются частью .net Framework в конце концов. Скомпилированные ссылки будут выглядеть как mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
. Таким образом, фреймворк выберет правильную версию и удостоверится, что ссылочные сборки получены от правильного создателя.
Принцип неиспользования GAC относится к вашим собственным сборкам или сборкам третьих сторон. Вы отправляете их вместе с вашим приложением и просто располагаете их в том же каталоге, что и ваша основная программа. Добавление их в GAC необходимо только в нескольких конкретных сценариях.