zoukankan      html  css  js  c++  java
  • .NET Core爬坑记 1.0 项目文件

    前言:

      之所以要写这个系列是因为在移植项目到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也说了,要将上面这些新的特性加入到其中,所以还好吧,所以我们的踩坑记,还是蛮重要的,大家说是吧。

  • 相关阅读:
    关于题目中的内存限制
    手动实现最小堆和最大堆(优先队列)
    线性筛素数(欧拉筛)+前缀和优化
    并查集
    快速排序

    字典按中文姓名排序
    oc程序代码
    学生字典计算年龄差 随机50个数
    nsset
  • 原文地址:https://www.cnblogs.com/maxzhang1985/p/5572861.html
Copyright © 2011-2022 走看看