没有文件夹的 NUGET 恢复包?

NUGET restore package without Folder?

是否可以选择将 NuGet 包还原到 repositoryPath 中定义的确切路径,而忽略任何包 ID?

在 Visual Studio 201715 中恢复时,我得到了路径 ..\Bin\PackageID。 我希望将文件恢复到 ..\bin.

我的包里面没有文件夹,只有文件。

我的Nuget.config

<configuration>
    <config>
        <add key="repositoryPath" value="../Bin" />
    </config>
</configuration>

我的包裹代码

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>Bint</id>
    <version>1.0.0</version>
    <title></title>
    <authors>admin</authors>
    <owners>admin</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>My package description.</description>
    <dependencies>
      <group targetFramework=".NETFramework2.0" />
      <group targetFramework=".NETFramework3.5" />
      <group targetFramework=".NETFramework4.0" />
      <group targetFramework=".NETFramework4.5" />
      <group targetFramework=".NETPortable0.0-Profile259" />
      <group targetFramework=".NETPortable0.0-Profile328" />
      <group targetFramework=".NETStandard1.0" />
      <group targetFramework=".NETStandard1.3" />
      <group targetFramework=".NETStandard2.0" />
    </dependencies>
  </metadata>
</package>

如有任何帮助,我将不胜感激。

可能你用了PackageReference,也就是说你不能用repositoryPath

来自 nuget.config reference:

repositoryPath apply only to projects using packages.config.


I want the files to restored to ..\bin\

您可以使用 RestorePackagesPath 属性 来指定恢复包文件夹,但 PackageIdentity 的文件夹结构将被保存。我认为改变这种行为是不可能的,反正我没有看到关于这个的文档。

来自 NuGet settings in MSBuild:

Path to the user packages folder. All downloaded packages are extracted here. Equivalent to --packages in dotnet restore.