NuGet 自定义配置

  默认配置:

  默认配置文件的路径%APPDATA%NuGetNuGet.Config (DOS) 或 $ENV:APPDATANuGetNuGet.Config (PowerShell),(例如  D:UsersusernameAppDataRoamingNuGetNuGet.config)我们可以增加配置文件修改默认配置,

默认的配置文件如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<activePackageSource>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</activePackageSource>
</configuration>

  配置文件说明:(http://docs.nuget.org/docs/reference/nuget-config-settings)

  1. 自定义nuget 包路径。

  <config>
       <add key="repositorypath" value="C:Temp" />
     </config>

   2。自动检查缺失包和自动恢复

    <packageRestore>
        <!-- Allow NuGet to download missing packages -->
        <add key="enabled" value="True" />

        <!-- Automatically check for missing packages during build in Visual Studio -->
        <add key="automatic" value="True" />
    </packageRestore>

  3.执行包寻找路径

  PackageSources:指定包来源地址

  DisabledPackageSources:禁止的来源地址

  ActivePackageSource:指定为”(Aggregate source)“为除了禁止的来源地址的所有包来源地址

    <packageSources>
        <add key="NuGet official package source" value="https://nuget.org/api/v2/" />
        <add key="TestSource" value="C:Temp" />
    </packageSources>
    <disabledPackageSources />
    <activePackageSource>
        <add key="All" value="(Aggregate source)"  />
    </activePackageSource>

  4。禁止源代码管理整合

  <configuration>
    <solution>
      <add key="disableSourceControlIntegration" value="true" />
    </solution>
  </configuration>

   5. 其他,代理设置 ,身份验证设置,设置API Key 访问包来源

  完整的实例

  

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <!-- 
    Used to specify the default location to expand packages.
    See: NuGet.exe help install
    See: NuGet.exe help update
    -->
    <add key="repositorypath" value="ExternalPackages" />
    <!-- 
    Used to specify default source for the push command.
    See: NuGet.exe help push
    -->
    <add key="DefaultPushSource" value="http://MyRepo/ES/api/v2/package" />
    <!-- 
    Proxy settings
    -->
    <add key="http_proxy" value="host" />
    <add key="http_proxy.user" value="username" />
    <add key="http_proxy.password" value="encrypted_password" />
  </config>
  <packageRestore>
    <!-- Allow NuGet to download missing packages -->
    <add key="enabled" value="True" />

    <!-- Automatically check for missing packages during build in Visual Studio -->
    <add key="automatic" value="True" />
  </packageRestore>
  <!--
  Used to specify the default Sources for list, install and update.
  See: NuGet.exe help list
  See: NuGet.exe help install
  See: NuGet.exe help update
  -->
  <packageSources>
    <add key="NuGet official package source" value="https://nuget.org/api/v2/" />
    <add key="MyRepo - ES" value="http://MyRepo/ES/nuget" />
  </packageSources>
  <!-- used to store credentials -->
  <packageSourceCredentials />
  <!-- Used to specify which one of the sources are active -->
  <activePackageSource>
    <!-- this tells only one given source is active -->
    <add key="NuGet official package source" value="https://nuget.org/api/v2/" />
    <!-- this tells that all of them are active -->
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <!-- Used to disable package sources  -->
  <disabledPackageSources />
  <!-- 
  Used to specify default API key associated with sources. 
  See: NuGet.exe help setApiKey
  See: NuGet.exe help push
  See: NuGet.exe help mirror
  -->
  <apikeys>
    <add key="http://MyRepo/ES/api/v2/package" value="encrypted_api_key" />
  </apikeys>
</configuration>

  (http://docs.nuget.org/docs/reference/nuget-config-settings)

  自定义配置文件寻找规则:

  1.nuget默认配置文件链,默认配置文件(nuget.config)路径——当前磁盘根目录——当前目录。

  当前目录指:nuget.exe 执行的目录或者当前解决方案加载的目录。

  2.nuget.config配置文件读取顺序,

  例:当前解决方案的路径为c:ac,那么配置文件的加载加载规则如下 

  • c:ac.nuget uget.config
  • c:ac uget.config
  • c:a uget.config
  • c:a uget.config
  • c: uget.config
  • 指定的配置文件源, %AppData%NuGet uget.config.
  • 用户通过配置指定的文件

  nuget 2.6以后扩展了部分加载规则,除了上述的路径外,还会从以下路径寻找

  • %ProgramData%NuGetConfig{IDE}{Version}{SKU}*.config, e.g. %ProgramData%NuGetConfigVisualStudio{VSVersion}Proa.config
  • %ProgramData%NuGetConfig{IDE}{Version}*.config
  • %ProgramData%NuGetConfig{IDE}*.config
  • %ProgramData%NuGetConfig*.config

  

  ( http://docs.nuget.org/docs/reference/nuget-config-file)

  

原文地址:https://www.cnblogs.com/superCow/p/3955348.html