.Net Core 项目中的包引用探索(使用VSCode)

本文组织有点乱,先说结论吧:

1 在 project.json 文件中声明包引用。

而不是像以前那样可以直接引用 dll。

2 使用 dotnet restore 命令后,nuget 会把声明的依赖项下载 到本机全局package缓存(如果没有的话),而不是 以前那样在解决方案根目录下创建一个package目录。

这样的好处是一台机器共享同一个 package 库,免得每次都重新下载。

3 在发布时,这些引用的dll会被放到publish目录中,进入运行环境。

4 如果要引用自己的私有类库,也需要通过这种方式。

但nuget的官方库是不会有你的私有类库的,那么也必须先使用 package 命令打包,然后再引用。打包的方法已经有大神介绍过了,但如何引用还不得而知。也许是先手动拷贝到本地nuget缓存,然后引用,开发与发布。嗯,应该是这样。

关于这一点,在验证之后我会专门再写一篇文章来介绍。

根据这段时间来我对VSCode的理解,VSCode应该是不再支持直接引用 dll 了,而是代以包的概念。所有的类库都是一个一个的包(package),甚至如果你要引用自己写的类库,也得发布成一个 package ,然后以 package 的方式引用。

在 .Net Core 工程中,有两个文件包含了这些引用依赖信息: project.json,  project.json.lock 。其中, project.json由用户编辑,而 project.json.lock这个文件达到几百K,其中的内容也不知所云,大概就是一些平台设置,公共类库什么的吧,还望以后有机会深入研究。有人说这个  .lock 文件相当于 以前的 .proj 文件,我就不太理解,一个.proj文件主要由 工程文件清单与引用清单组成,最多也就上百行,几K大小而已,怎么能与 .lock 文件相比呢?

这个 .lock 太神秘了,非常值得研究。但是现在以赶进度为主,暂时先放过它。

主要来研究引用的问题。

在使用 dotnet new 命令产生的project.json全文如下:

{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"imports": "dnxcore50"
}
}
}

其中的 dependencies 节,是记录依赖关系的。

再使用 yeoman 命令生成 一个新项目,执行 yo aspnet,得到如下选项:

aaarticlea/png;base64,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" alt="" />

其实在 yeoman 官网上有好多关于 .Net Core 的项目模板,看来看去,还是这个  aspnet 最为好用,所以有了这一个,就不用费心安装别的模板了。

我们选择 Web API Application ,看会生成 project.json 中引用了什么:

  "dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0"
}

看到这个模板项目引用 了一大堆东西,这相当于 使用 Visual Studio 创建工程后默认给你引用的类库了。

到了这里,可以松一口气了:至少VSCode在引用方面,是与原来相差不多的。

但是,这些引用的类库是从哪来的?看起来并不像是基础类库,那么在发布的时候会不会作为最终制品的一部分呢?结论是:yes

这些类库并不像 Visual Studio 中使用PM命令行的 install-package 命令那样,在根目录下创建一个packages目录,这点让人困惑,这些包到底都放在哪里呢?

它们在当前用户根目录下的 .nuget 子目录下,对于Windows,那就是这里了:

aaarticlea/png;base64,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" alt="" />

所有的引用的包,都会先下载到这个位置,可能是 dotnet restore 命令的结果。

aaarticlea/png;base64,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" alt="" />

这是发布到CentOS后的publish目录,也是程序运行的起始位置。

所以这个结论是显然的:dependencies  依赖的是非基础类库,这些依赖项最终会随着应用一起进入发布目录。

当然,对于一个Web应用,环境根目录并不在publish,而是工程根目录,这一点值得注意。

上一篇:FTP 数字代码的意义


下一篇:Java使用HttpURLConnection上传文件