首页 > 代码库 > 测试三
测试三
之所以要写这个系列是因为在移植项目到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也说了,要将上面这些新的特性加入到其中,所以还好吧,所以我们的踩坑记,还是蛮重要的,大家说是吧。
测试三
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。