【问题标题】:Adding scripts to a solution folder in visual studio with Nuget使用 Nuget 将脚本添加到 Visual Studio 中的解决方案文件夹
【发布时间】:2012-09-06 10:51:49
【问题描述】:

我想使用 nuget 为我们的项目分发一组共享构建脚本,我设想它的工作方式如下:

  1. 用户运行 install-package build.support
  2. 包已下载
  3. 构建脚本与默认的“顶级”构建脚本一起出现在解决方案的解决方案文件夹中,您可以根据需要对其进行编辑。

现在,也许 nuget 不是合适的工具,我应该将构建脚本目录从树中的其他位置分支到我的项目中,但我真正想要的是 解决方案级别的包 不是项目级包。这可能是开箱即用的吗?

一种选择是使用 powershell 将文件从 nuget 包中的工具目录复制到正确的位置,但同样,这感觉像是一种 hack。

【问题讨论】:

  • 为什么是 hack? ps1 文件的全部原因是这样的。
  • 不是 hack 本身,但这意味着您需要自己管理将文件复制到构建目录中的某个位置,如果用户对文件进行了更改,您需要通知他们或处理覆盖它们,这是 nuget 将为您处理的事情(如您所知)。

标签: msbuild nuget


【解决方案1】:

如果没有诸如 powershell 脚本之类的“hack”,这是不可能的,因为库被“安装”到包中,而不是解决方案中。

我不认为这是一个不合理的要求 - 我建议将其发布在官方 NuGet 讨论论坛中,看看其他人是否同意:http://nuget.codeplex.com/discussions

【讨论】:

    【解决方案2】:

    是的,您可以通过将代码放在 init.ps1 文件中来做到这一点。 install.ps1 仅使用项目级包执行。因为代码将在 init.ps1 中,所以它会在每次加载解决方案时运行 - 而不仅仅是在安装时。所以你需要防止重新执行。 有关代码示例,请参阅此post - 您只需添加一个步骤即可从工具文件夹复制到解决方案文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 2011-05-09
      相关资源
      最近更新 更多