【问题标题】:how to specify location of nuget packages when package restore is enabled?启用包还原时如何指定nuget包的位置?
【发布时间】:2012-10-04 23:44:05
【问题描述】:

我正在开发一个 .net 解决方案,并使用 nuget 进行包管理。我选择了“启用 Nuget 包还原”选项,这样 nuget 包就不会签入源代码管理。

在此之前,我有一个 nuget.config 文件,它与我所包含的解决方案处于同一级别,使我能够指定 nuget 包的位置。

<settings> 
  <repositoryPath>..\Build\NuGetPackages\</repositoryPath> 
</settings> 

由于我启用了 nuget 包还原,这不再有效。我尝试在 .nuget 生成的文件夹中更新配置文件,但这也不起作用。

那么我哪里出错了,我该如何指定包文件夹的位置?

【问题讨论】:

    标签: nuget nuget-package nuget-server


    【解决方案1】:

    启用 nuget 包还原后,.nuget 文件夹中有一个 NuGet.Config 文件。

    这是显示我的 libs 文件夹路径的副本。您可以修改您的以匹配您的路径。我认为它比已经选择的答案更干净。

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <solution>
        <add key="disableSourceControlIntegration" value="true" />
      </solution>
      <config>
        <add key="repositoryPath" value="../../libs/packages" />
      </config>
    </configuration>
    

    【讨论】:

      【解决方案2】:

      您可以更改your-solution\.nuget\NuGet.targets 文件中的下一个属性:

      <PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir>
      

      或相同的属性,但如果您使用的是 Mono,则在下面的组中。

      【讨论】:

      • 谢谢 - 这是我正在尝试的,但直到我出于某种原因重新启动 Visual Studio 后才选择更改
      【解决方案3】:

      您还应该在此处查看 nuget 2.1 发行说明 http://docs.nuget.org/docs/release-notes/nuget-2.1,其中添加了一个新设置到 nuget.config 以指定包文件夹位置

      <configuration>
        <config>
          <add key=" repositoryPath" value=" C:\myteam\teampackages" />
        </config>
        ... 
      </configuration>
      

      【讨论】:

        猜你喜欢
        • 2012-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-09
        • 1970-01-01
        • 1970-01-01
        • 2012-10-27
        • 2015-03-23
        相关资源
        最近更新 更多