我可以告诉你核心的 OpenWrap 拥有一切内在内容可以做你想做的事。 您可以做的一切, 都可以从 msbuilding 中被调用。 因此, 在我看来, 您只需要在建构前添加一个钩子来呼唤打开信封来完成一个“ 更新信封 ” 。 几个月前, 我实际上在做类似的事情。 AFAIR I 实际上写了一个 msbuilding 脚本来调用打开信封任务, 但并没有把它们真正连接到正常的构建进程 。
对于 OpenWrap 来说, 您需要做的就是维护您的工程的“ 打开信封描述符 ” 。 该文档包含您工程的所有直接依赖性( 不论是否对版本编号有限制 ) 。 ( 间接依赖性被自动拉入 ) 您是否想知道当您有一堆二进制图纸要开始的时候您是如何开始的? 我可以告诉你我做了什么。 基本上, 我并不使用任何 Nuget 软件包, 我为每件事创建了 OpenWrap 软件包。 我还为我们所有的二进制依赖性( 其中一些是开源的) 创建了 OpenWrap 软件包 。 这非常简单: 您在 OpenWrap 描述符中填写正确的依赖性, 并指定软件包必须包含给定的图纸 。 我们有一堆二进制依赖性, 但是一旦你开始包装它们, 它肯定不是很多工作 。
If you want to see an example, you can check this one:
http://code.google.com/p/ppwcode/source/browse/dotnet/External/Apache.Log4Net/trunk/Apache.Log4Net.wrapdesc
这就是你唯一要做的, 来包装你的二进制依赖关系。 这是一个我创建的包, 我们目前在我工作的公司里使用这个包。 我知道 Log4Net 可能是一个 NuGet 的包, 我可能会使用它。 自己创建这些二进制包的好处是, 我完全控制着包, 控制着包的版本编号, 控制着一个大项目如何分成几个小的包等等。
作为 OpenWrap 回收站, 您可以使用本地文件系统上的文件夹, 或者网络共享上的文件夹。 我们实际上使用的是一个 Webdav 仓库, 是我们本地在驱动器上安装的( 使用 Windows 7 ), 这对我们很好, 也让我们可以指定谁读写了该仓库的存取权限 。
你提到单体... 好吧,这可能是一个问题: OpenWrap (2.0.2) 目前发行版本的 OpenWrap (2. 0.2) 并不在单体 AFAIK上运行。 但好消息是Sebastien Lambla 一直努力让 OpenWrap 运行到 单体+X 建设中, 新版本将很快发布: 2.0. 3。 目前还没有任何alpha/beta 建构, 但您可以用 git 来建建。 (在这种情况下, 您需要同时建开包壳和开包。 ) Sebastien Lambla 创建了 OpenWrap, 通常关注StackOverproll 的问题, 并且可能能够给你们一个更完整的单一状态答案 。
Btw, 在我工作的地方, 我们使用 OpenWrap 已经超过一年了 。 当时我们比较了 NuGet 和 OpenWrap 。 当时我们比较了 NuGet 和 OpenWrap, 而 OpenWrap 远比NuGet 提前了一步。 对我来说, NuGet 并不是一个依赖管理的工具, 而是帮助您在视觉工作室里从远程服务器上拉出二进线依赖性的工具( 意思是: 从远程服务器复制到本地文件夹, 并在项目文件中添加本地文件参考 ) 。 在那个时候, NuGet 一直在玩 OpenWrap 的追赶, 并且增加了 OpenWrap 中已经存在的功能。 在我看来, NuGet 超过 OpenWrap 的功能只有两件, 而在视觉工作室里( 远程软件包的概览和点击添加软件包), 是一个工具来帮助您从远程操作 。 这两个东西都是政治性的 。 。 这两个东西都比较容易 。 但是, 用一个漂亮的接口和微软支持的人比较容易 。 我认为 Op 。 我认为, 在技术上比较高级, 我认为 Op 和微软。