Visual studio 2013 NuGet无法识别解决方案根文件夹中的$(SolutionDir)变量

Visual studio 2013 NuGet无法识别解决方案根文件夹中的$(SolutionDir)变量,visual-studio-2013,nuget,Visual Studio 2013,Nuget,我已经使用了一段时间的中央软件包文件夹(使用%AppData%/NuGet/NuGet.config),但是对于某些需求,我现在需要使用解决方案级别的软件包存储库来处理特定的解决方案 为此,我创建了这个NuGet.config并将其放在解决方案根目录下 <?xml version="1.0" encoding="utf-8"?> <configuration> <packageRestore> <!-- Allow NuGet to dow

我已经使用了一段时间的中央软件包文件夹(使用
%AppData%/NuGet/NuGet.config
),但是对于某些需求,我现在需要使用解决方案级别的软件包存储库来处理特定的解决方案

为此,我创建了这个NuGet.config并将其放在解决方案根目录下

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <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>

  <config>
    <add key="repositoryPath" value="$(Solutiondir)\Packages" />
  </config>

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

</configuration>

然而,有趣的是,创建了一个名为
$(Solutiondir)
的文件夹,其中包含存储包的
文件夹


我做错了什么?

NuGet不支持这一点。该路径可以是完整的目录路径,也可以是相对于NuGet.Config文件本身的路径


通过在每个解决方案的.NuGet目录或解决方案目录中为每个解决方案提供一个NuGet.Config文件,可以获得所需的行为。然后指定与NuGet.Config文件相关的目录。

噢,我没有意识到。当我刚刚看到此页面中的默认路径是“$(SolutionDir)\Packages”时,我想为什么不使用它。实际上,它可以是绝对路径,也可以是相对于解的路径。谢谢