Project.json 是一个新的项目文件,它的功能大部分与 *.*PROJ 文件重叠。 心细的你可能已经发现了他们所创建出来的project.json 文件的内容有很多都不一样。 project.json 首先,从我们 通过 Visual Studio 创建的项目 xproj 的 project.json︰ { "version": "1.0.0-*", "buildOptions 或者,如果项目是可移植应用,project.json 可标识项目会在目标计算机(将在其上运行程序集)上安装的框架。 从上面2个project.json 文件可以看出Frameworks 和 dependencies 存在依赖关系。
dotnet 运行 ASP.NET 程序 与 dnx 有一个很大的不同,除了 project.json 与 Startup.cs 职位,还需要一个 Program.cs 。 , 而且现在的 project.json 不支持注释,调测配置变得更麻烦。 首先要在 project.json 中添加如下 emitEntryPoint 的配置,dnx 时期不加是可以的,现在可不行。 后来通过在 project.json 中添加如下的配置解决了,但至今未能弄明白为什么加上看似这个不相关的配置能解决问题(或者只是表面地解决)。 后来还是怀疑到可能是 project.json 的问题,于是与 dotnet-cli 的示例项目 cli-samples 中的 project.json 进行对比,试了试添加如下的配置,问题竟然奇迹般地解决了
The command will creat a project.json file and a Program.cs file. { "taskName": "build", "args": [ "${workspaceRoot}\\project.json "problemMatcher": "$msCompile" } ] } There are unresolved dependencies from 'project.json { "taskName": "build", "args": [ "${workspaceRoot}\\project.json , { "taskName": "run", "args": [ "${workspaceRoot}\\project.json
r project.json files. Can be one or multiple paths to project.json, project directory or globbing patter that matches project.json -p, --project [PATH] 指定要运行的项目,它可以是project.json的文件路径,可以是包含project.json的路径,如果没有指定,默认是当前路径。 具体参考文档参考文档 .NET Core Application Deployment 默认的project.json编译出来的应用没有包括跨平台,需要修改project.json文件,需要在 project.json 下次我们将深入了解一下到 project.json 文件,并开始尝试在如何构建更复杂的应用程序与新的.Net Core。
本章将要和大家分享的是Asp.NetCore1.1版本去掉了project.json后如何打包生成跨平台包, 为了更好跟进AspNetCore的发展,把之前用来做netcore开发的vs2015卸载后并安装了 View(); } 看起来set或get的session操作都只需一句代码就完成了是不是方便了许多呢,最有命令:dotnet run 测试下效果,和上面的一样我就不截图了; 1.1版本去掉了project.json 后,如何生成跨平台包 到这里就进入今天的正题了,对于最新版本netcore去掉project.json网上讨论的还算比较激烈,但是网搜了下还没有一篇正式的中文文章来讲述如果生成夸平台包,这里有幸或许吧成为第一篇吧呵呵 ;首先,要明了netcore小组去掉project.json重要文件后,其任务都放在了项目的.csproj文件中,没错就是咋们vs生成的项目工程文件,那上面测试用例为例我们看下.csproj文件的内容:
dotnet migrate 命令仅支持有效的预览版 2 基于 project.json 的项目。 这意味着,不能使用它将 DNX 或预览版 1 基于 project.json 的项目直接迁移到 MSBuild/csproj 项目。 首先需要将项目手动迁移到预览版 2 基于 project.json 的项目,然后使用 dotnet migrate 命令迁移该项目。 要迁移的目录:在指定的目录中以递归方式搜索要迁移的 project.json 文件。 如未指定,则默认为当前目录。 --skip-backup 在成功迁移后,跳过将 project.json、global.json 和 *.xproj 移动到 backup 目录的步骤。
两个项目对应目录及其源文件结构: Project2 Startup.cs project.json Project3 Program.cs project.json 我们在Project2目录下添加一个文本文件并将其命名为Startup.cs,并按照如下的方式定义一个同名的类型。 我们说过任何一个被KRuntime视为项目的目录必须包含一个project.json文件,所以我们需要在Project2目录下创建这个一个文本文件,我们指定的入口程序就定义在这个文件之中。 在完成对作为入口程序的Program类的定义之后,我们同样需要在Project3目录下创建一个必需的project.json文件。 在Project2的project.json文件中,我们在其commands配置项中定义了一个命令,其实这个命令是为K.cmd定义,我们可以直接利用后者执行这个命令。
该目录下仅仅包含如下3个必需的源文件: HomeController.cs Startup.cs project.json 我们在这个目录下创建一个名为HomeController.cs ASP.NET 5给了我们另一种定义依赖的方式,那就是直接将针对另一个NuGet包或者项目的依赖定义在project.json 文件中。 在添加的project.json文件中,我们按照如下的方式将针对这个包(采用的版本为“6.0.0-beta1”)的依赖定义在dependencies配置项中。 KPM会自动解析定义在project.json中的依赖,并下载所需的所有NuGet包,这些包都被保存到“%USERPROFILE%\.kpm\package”。 由于我们在project.json文件中定义命令为“web”,所以我们需要按照如右图的方式执行命令K web。 ? ASP.NET MVC宿主程序启动之后,我们就通过浏览器来访问这个应用了。
Scott Hanselman也在博客中发文教大家怎么使用新的.NET SDK RC4工具将project.json转换到MSBuild的.csproj项目系统。 当时ASP.NET Core的第一个版本为了使开源平台对开发者更具吸引力,ASP.NET Core采用了一种基于JSON的项目系统project.json文件定义,这是一种与Node.js类似的定义,这对于吸引 二、定义多平台 project.json 在project.json项目配置中定义多平台,使用的是”frameworks”节点来配置的,并且在每个平台节点下也配置了对应的项目引用或依赖。 下面的实例使用project.json定义的多平台和依赖如下: "frameworks": { "net451": { "frameworkAssemblies": {
"${workspaceRoot}/子项目目录/bin/Debug/netcoreapp1.0/<项目名称>.dll" 修改后,DEBUG发现没办法Build, 提示 Couldn't find 'project.json 解决方案很简单,在每个需要调试的项目文件(project.json)中,加入一个节点信息如下: "buildOptions": { "debugType": "portable" } { { "dependencies": { "Owin": "1.0.0" } } } } 这是YOYOFx开源框架一个项目的project.json
通过前面的两篇文章,我们已经知道如何创建新的项目,如何生成并运行我们的应用程序,也知道(大致) project.json 文件中的内容是什么意思。但大多数项目往往也需要多个项目或引用的类库。 Path: /root/DotnetNewApp/project.lock.json log : /root/DotnetNewApp/project.json log : Restore completed 前面一篇文章《.NET Core系列 : 2 、project.json 这葫芦里卖的什么药》我们已经简单提及。 我们来看下类库项目的project.json: { "version": "1.0.0-*", "buildOptions": { "debugType": "portable" } 所有的子文件夹里面的project.json 都会被恢复。
; } } } KRuntime眼中的项目是一个目录,能够成为项目的目录必须具有一个名称为“project.json”的文件。 换句话说,我们熟悉不过的web.config在ASP.NET 5项目已经不再需要了,而project.json不仅仅是web.config的替代者,更多的配置信息被放置在这里。 我们在Project1目录下添加这样的project.json文件。由于我们的应用是如此简单,我们不需要在此定义任何配置,所以我们将内容定义为“{}”。 具体来说,编译器会将当前目录(%CD%)作为目标项目的根目录,根据project.json的设置来选择相应的源文件进行编译。 对于我们的程序来说,我们不曾在project.json中定义任何配置,所以目录下的.cs文件(Program.cs)会默认作为源文件编译到生成的程序集中(程序集会以项目的根目录进行命名,所以编译生成的目标程序集名称为
在Dotnet Core RC2版本中,project.json 管理着整个项目,包括编译文件、依赖包管理、版本信息、平台依赖与发布等功能。 关于项目中引用: 比如我们一般看到Project.json中一般会有如下内容: "dependencies": { "Newtonsoft.Json": "8.0.3" } 这是一段标准的引用一个程序集的配置文件 最后: 其实说了半天以上都不是真的坑,在6月27号的RTM版本中,Project.json将不再存在,取代它的将是.csproj, 没错它又回来了!!!
它还可以是一个 project.json 文件的路径或者是目录。如果忽略,它将默认为当前目录。 -o, --output [DIR] 指定生成的目录。 --no-build 打包进程中跳过生成阶段。 dotnet pack ~/projects/app1/project.json 打包 app1 项目。 root/DotnetNewLib/bin/Debug/DotnetNewLib.1.0.0.symbols.nupkg 目录结构如下: DotnetNewLib |-- Library.cs |-- project.json Debug目录下生成了2个文件DotnetNewLib.1.0.0.nupkg 和DotnetNewLib.1.0.0.symbols.nupkg, 这些就是nuget 包,很简单吧,版本号信息来自于project.json DotnetNewLib/bin/Release/DotnetNewLib.1.0.0.symbols.nupkg 生成了Release目录 DotnetNewLib |-- Library.cs |-- project.json
[源代码从这里下载] 目录 步骤一、安装最新的.NET Core SDK 步骤二、定义源代码和配置 定义NuGet.xml 定义Project.json //www.myget.org/F/aspnetrc2/api/v3/index.json" /> 5: </packageSources> 6: /configuration> 定义Project.json 定义在Project.json文件中的所有配置如下所示,我们会发现它与RC1中的Project.json不太一样。 提供了一个非常强大的命令行(dotnet),包括恢复NuGet包以及编译执行.NET应用的相关操作都可以通过它来完成 恢复NuGet包 我们打开命令行工具并切换到应用所在的目录,执行dotnet restore命令恢复在project.json
-f, --framework [FID] 指定运行框架,如:netcoreapp1.0,net45,net451等,具体由“project.json”中的“framework”节点指定。 /bin/[configuration]/[framework]/[runtime]/app --version-suffix [VERSION_SUFFIX] 替换在“project.json”文件中依赖包版本号中的 发布:Self-contained application(自宿主应用) 修改“project.json” 删除“Microsoft.NETCore.App”节点中"type" : "platform" 的配置 增加“runtime”节点中对应的平台 修改后的“project.json”如下: ? ps:记住不要用 “dotnet run”这个命令,不然会提示找不到“project.json”,输入之后会执行一段东西因为一些原因没有截到图。 回到目录 接下来?
{projectRoot}/.eslintrc.json" ] } } // apps/web/project.json { "name": "web", "$schema": " mobile/: src/ package.json project.json api/: src/ package.json project.json packages/: ui/: src/ package.json project.json shared project.json dtos/: src/ package.json project.json repositories/: src / package.json project.json services/: src/ package.json project.json
给每个项目添加 *.xproj 文件,包含 RootNamespace 和 ProjectGuid,并且将项目引用关系添加到 project.json 中。 提供 project.json、mvcProject.json、testProject.json 和 webapiProject.json,分别用于不同类型的项目。
在project.json文件中我们可以发现,ASP.NET Core 不再基于 System.Web.dll(我们在project.json中见到的大部分都是Microsoft打头) ,基于一系列颗粒化的 2.3.2 project.json和global.json project.json是.NET Core项目中最重要的一个配置文件,它类似于.NET Framework上的 .csrpoj文件(在下一版本中 project.json 这葫芦里卖的什么药 2.3.1 Properties——launchSettings.json 顾名思义——启动配置文件。 Docs » Fundamentals » Configuration BundlerMinifier project.json ASP.NET Core 中文文档 中间件
recursive Recursive search in all subfolders of specified directory -c, --copyproject Copy project.json and preview.jpg from beside PKG into output directory -n, --usename Use name from project.json Dump info about all TEX files from specified directory -p, --projectinfo Keys to dump from project.json