1

我创建了一个nuget包,然后安装它,结果发现它创建了一个我没想到的目录结构。我想知道我做错了什么或者我可以做些什么来达到我的预期结果。 文档说:

安装包时,文件夹中的content文件会复制到应用程序的根目录

但事实并非如此!

为了澄清这个问题,我调用nuget pack -BasePath staging了以下文件夹结构:

  • 分期/
    • 内容/
      • 我的插件/
        • foo.txt

从那里开始,当我执行时,nuget install MyPackage -o .\Target我期望得到以下结果:

  • 目标/
    • 我的插件/
      • foo.txt

相反,我得到的是:

  • 目标/
    • MyPlugin.1.0.1.0/
      • MyPlugin.1.0.1.0.nupkg
      • 内容/
        • 我的插件/
          • foo.txt

显然,结果在两个关键方面与我的预期结果不同:

  1. 我认为安装的 .nupkg 将存储在其他地方 - 在缓存位置。
  2. 从文档中,我了解到这content是一个在打包过程中使用的特殊文件夹,但在安装时不会创建。

我误会了什么?我怎样才能解决这个问题?

请注意:我故意不指定 packages.config 或 SolutionDirectory,因为我打算nuget install在运行时执行它以将插件添加到应用程序。也许我可以说服我使用 packages.config,但我认为这不会特别影响我目前得到的结果。

4

1 回答 1

0

您看到的是 nuget.exe 命令行的预期行为。引用 Balliauw 的话:

由于 NuGet 命令行没有您可能想要定位的解决方案或项目的上下文,因此它将安装操作限制为在特定位置提取包。
Balliauw,马丁;德科斯特,泽维尔 (2012-03-07)。Pro NuGet(专业版)(Kindle 位置 1114-1115)。按。Kindle版。

于 2013-01-22T21:31:54.713 回答