前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.NET Core爬坑记 1.0 项目文件

.NET Core爬坑记 1.0 项目文件

作者头像
yoyofx
发布2018-09-05 11:04:40
4140
发布2018-09-05 11:04:40
举报
文章被收录于专栏:ASP.NETCoreASP.NETCore

前言:

  之所以要写这个系列是因为在移植项目到ASP.NET Core平台的过程中,遇到了一些“新变化”,这些变化有编译方面的、有API方面的,今天要讲的是编译方面的一些问题。我把它们整理后分享出来,以便各位博友不要再遇到这些坑。

  在Dotnet Core RC2版本中,project.json 管理着整个项目,包括编译文件、依赖包管理、版本信息、平台依赖与发布等功能。

关于项目中引用:

比如我们一般看到Project.json中一般会有如下内容:

"dependencies": {
    "Newtonsoft.Json": "8.0.3"
}

这是一段标准的引用一个程序集的配置文件; 但是如果我们想引用的是一个解决方案中的其它项目,那应该如何编写呢?

 "dependencies": {
    "项目名称": {
      "target": "project",
      "type": "build"
    }
  }

 这样在编译这个项目的时候,也会将引用的项目一起编译。

编译文件:

buildOptions节点定义了如何编译和编译哪些文件等。

1. compile 节点 : 文件编译,是一个数组,确定一组要编译的文件进行定义, **.cs (默认) 表示 包含子目录下的所有.cs文件,如果要链接共用的代码进行编译的话可以在这个地方设置。 这种方式相当不错,直接可以引用另一个目录下的文件进行编译,非常方便!!!

2. defines 节点 : 编译变量的定义,用于条件编译,如多平台判断。

上段代码吧:

 "buildOptions": {
    "compile": [
      "*.cs",
      "../Mvc/**.cs"
    ]
}

这段代码说明了,我们要编译本项目目录的所有.cs文件和上层Mvc项目目录及子目录的所有.cs文件。

编译宏:

#if NET451

#if NETCOREAPP1_0 

#if NETSTANDARD1_5

以上是三个平台的编译宏,大家一看就懂的。

最后:

其实说了半天以上都不是真的坑,在6月27号的RTM版本中,Project.json将不再存在,取代它的将是.csproj, 没错它又回来了!!!

不过MS也说了,要将上面这些新的特性加入到其中,所以还好吧,所以我们的踩坑记,还是蛮重要的,大家说是吧。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-06-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 关于项目中引用:
  • 编译文件:
  • 编译宏:
  • 最后:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档