技术开发 频道

.NET解决方案范围的依赖管理

  【IT168资讯】NuGet已经发布1.4版了,它在1.3版的基础上做了改进,比如说,可以在解决方案级别进行包的管理,改进Update-Package命令,支持在更新包的时候添加版本范围的约束等等。除了新特性,还有一共88个工作项的修正,其中71个是错误修正。

  最新版本的关键特性是NuGet可以在解决方案级别管理包了。在之前的版本,用户不得不打开多个对话框才能把包安装到多个项目,这个过程非常麻烦。有了这个新特性,用户只需打开一个对话框就能向多个项目安装/卸载/更新包了。

  NuGet还对包的管理控制台Update-Package做了改进,使之更易在命令行里把多个项目的所有包都保持在相同的版本。Update-Package现在也提供多个选项了。

  NuGet组还考虑到更新所有项目里的所有包时可能出现的问题。因为在线列表里的包会更新到最新版本,所以有可能应用程序里的包被升级到一个它不支持的版本。这种情况的处理可以通过选项指定一个版本范围来约束包的更新,确保应用程序里的包不会升级到它不支持的版本。要添加约束,可以手动编辑packages.config文件,在里面使用新的allowedVersions属性。

  另外,为了帮助用户把所有项目和它们的包之间的依赖关系可视化,NuGet 1.4带来了Package Visualizer。这个特性只适用于Visual Studio Premium或以上。

  除了所有的新特性,还有若干工作项已经得到修复。发布说明特别指出三个已经修复的错误:

  •问题603:分布于不同仓库的包的依赖关系在指定一个特定的包源就能解析了。

  •问题1036: 在后期生成事件里添加“NuGet Pack SomeProject.csproj”不再导致无限循环了。

  •问题961:“-source”选项支持相对路径了。

  NuGet 1.5版的工作已经开展了,Phill Haack在他的公告里特别提到将来版本的基调:

  •简单的包的创建过程: 我们一直都想降低创建和分享代码的门槛,无论是在Visual Studio里面还是外面。

  •适用于企业的NuGet:这包括visual Studio以外的CI场景,还有支持验证的在线列表等。

  •灵活打包: 包含没有引用但需要部署的程序集,反之亦然。

  •开发者工作流程: 我们关注那些常见但不满足我们自己预期的工作流程,以及我们可以怎样为它们提供支持。这包括我们已经确知的工作流程,比如使用预发行包等。

  NuGet是一个Visual Studio 2010扩展,它使得在使用.NET Framework的Visual Studio项目里添加、删除和更新库和工具变得更加容易。

0
相关文章