Есть ли способ выборочной установки компонентов пакета NuGet в проекте Visual Studio 2015 C #? (Помимо добавления ссылок вручную)


Фон:

Я недавно использую пакет Microsoft.CodeAnalysis.CSharp. Этот пакет содержит несколько необходимых мне библиотек:

  • Microsoft.CodeAnalysis
  • Microsoft.CodeAnalysis.CSharp

Он также устанавливает многие библиотеки, от которых они зависят. Для функций, которые я использую, мне нужны только эти два:

  • System.Collections.Immutable
  • System.Reflection.Metadata

Но он также устанавливает гораздо больше библиотек, которые мне никогда не понадобятся:

  • System.AppContext
  • System.ComponentModel.Composition
  • System.Console
  • System.Diagnostics.FileVersionInfo
  • System.Diagnostics.StackTrace
  • System.IO.FileSystem
  • System.IO.FileSystem.Primatives
  • System.Numerics
  • System.Security.Cryptography.Algorithms
  • System.Security.Cryptography.Encoding
  • System.Security.Cryptography.Primitives
  • System.Security.Cryptography.X509Certificates
  • System.Text.Encoding.CodePages
  • System.Threading.Thread
  • System.Xml
  • System.Xml.Linq
  • System.Xml.XmlDocument
  • System.Xml.XPath
  • Systen.Xml.XPath.XDocument

Могу ли я как-нибудь отметить флажки нужных мне библиотек при установке пакета?

1
JamesFaix 16 Дек 2016 в 20:47

1 ответ

Лучший ответ

Согласно документам, есть только -IgnoreDependencies команда может помочь нам игнорировать все зависимости . Мы не могли игнорировать часть зависимостей.

Но вы можете реализовать свое требование с помощью -IgnoreDependencies , выполните следующие действия:

  1. Установите пакет Microsoft.CodeAnalysis.CSharp без какой-либо зависимости:

    Установить-пакет Microsoft.CodeAnalysis.CSharp -IgnoreDependencies

  2. Установите пакет зависимостей Microsoft.CodeAnalysis. Общий пакет без зависимости:

    Install-Package Microsoft.CodeAnalysis.Common -IgnoreDependencies

  3. Установите пакет зависимостей System.Collections.Immutable и System.Reflection.Metadata:

    Установочный пакет System.Collections.Immutable

    Установочный пакет System.Reflection.Metadata

Если вам не нужно использовать зависимости «System.Collections.Immutable» и «System.Reflection.Metadata», вы также можете использовать ту же опцию для игнорирования зависимостей.

3
Weiwei 19 Дек 2016 в 08:58