Project.json统一了ASP.NET vNext之前版本的packages.config、NuGet 配置(nuspec)以及项目文件(csprojs);并集成在Project.json中。
我们来看下:dependencies节点,还是顾名思义:依赖关系。那么这个节点是用来干嘛的呢?
我们发现此节点主用于代替上一代.net的项目引用,来看个例子,我们创建一个控制器并添加一个动作Bulid一下,会报如下错误:
严重性 代码 说明 项目 文件 行
错误 CS0234 命名空间“Microsoft.AspNet”中不存在类型或命名空间名“Mvc”(是否缺少程序集引用?)
代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNet.Mvc;//注意是这里出了问题。 using Koala.Utilities; //For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 namespace Web.Controllers { public class HomeController : Controller { // GET: Home public IActionResult Index() {return View(); } } }
那么怎样来解决捏?
答案是和以往的思想一样:添加项目引用。OK,我们来看下新一代的.net是如何添加项目引用的;
如下图:
没错,就是在project.json文件的dependencies(依赖关系)节点内添加"Microsoft.AspNet.Mvc": "6.0.0-beta4",是的,还有人性化的智能提示功能。Bulid后 我们发现references文件下多一项Microsoft.AspNet.Mvc(6.0.0-beta4)由此我们可以看出他非常方便的动态性。截图如下:
此时我们再编译程序可以正常运行了。
结论:本文着重于应用,解决了程序集引用问题,关于project.json的其他功能我们期待再次与project.json握手。