2

这有点难以解释,但我会尽力而为。请问您有什么问题吗...

问题

我有一个 nuget 包 A,它引用了我的另一个包 B 中的工具。该工具是一个 msbuild 任务和一个可执行文件,并使用 MEF。包A向包B添加插件,并在另一个项目引用包A时添加目标。当另一个项目引用包A时,nuget会将目标插入引用项目。

现在,包 B 中的任务确实有一个属性来指出在哪里可以找到插件。所以我不太担心在这里和那里复制 dll。然而,我什么

  1. 我应该在 (B) 中使用巧克力,还是使用 nuget,或者两者都使用?
  2. 包中工具共享的最佳实践是什么?
  3. 将插件用于巧克力、nuget 或两者中存在的包中的工具的最佳实践是什么?
4

2 回答 2

2

根据我目前的理解,以上答案:

  1. NuGet 用于分发用于在软件项目中引用的软件库 (DLLS),以构建在 Chocolatey 上分发的工具/应用程序/框架。
  2. 您需要详细说明此项目。
  3. Chocolatey 已发布命名约定,其中详细说明了包内容:https ://github.com/chocolatey/chocolatey/wiki/CreatePackages#naming-your-package
于 2013-07-23T02:54:34.173 回答
0

好的,所以我和一些人交谈并浏览了很多谷歌并找到了我的答案。

  1. 只是nuget。“chocolatey 专注于应用程序和工具,不一定专注于开发人员。” - Chocolatey常见问题解答。我使用的工具更像是一个以开发人员为中心的工具,而不是一个单独使用的工具。
  2. 在工具文件夹中。呃......“包的工具文件夹用于powershell脚本和程序” -创建和发布包即使包B没有引用,它也是一个包含工具的包,该工具将被另一个包用于开发目的。想要使用包 A 的项目都需要这两者。我基本上在做的是共享一个工具并通过插件扩展它。
  3. 不幸的是,在不知道另一个包的目录的情况下,我没有找到很多关于从另一个包访问一个包的信息。因为版本。所以当我更新包 B 时,我必须修改包 A 以使用包 B 的新版本号。就我而言,目标文件。
于 2013-07-23T08:55:43.783 回答