首页
学习
活动
专区
圈层
工具
发布

.NET Core系列 : 2 、project.json 这葫芦里卖的什么药

NET Core 项目结构中最重要的文件可能是 project.json。此文件旨在: 替换 NuGet 文件管理器 package.config 文件,它可标识项目的 NuGet 引用。...这三个任务分布在 project.json 中的四个主要部分(根据项目类型,我将Frameworks 和 dependencies合并为功能重叠): Version version 这个属性是你所要构建的组件的最小的元数据...关于project.json 的更多信息 .NET Core项目依赖全部使用NuGet,要求使用NuGet 3.0版本,默认使用nuget.org 作为源。...接下来,为了使 Visual Studio 知晓在何处查找源代码,你需要编辑 global.json 项目节点,如将“submodules\Logging”添加到查看的目录列表: {   "projects...更新并保存 global.json 后,一旦 Visual Studio 成功找到源代码,它会自动将项目添加到你的解决方案,使你可以调试到源代码。

3K80

.NET 8 中 Android 资源生成的改进和变化

旧系统使用了名为 UpdateIdValues 的方法,该方法在启动时调用。该方法将遍历所有库项目并更新资源 Id以匹配应用程序中的资源 Id。根据应用程序的尺寸,这可能会导致严重的启动延迟。...在运行 C# 编译器之前,将解析 R.txt 文件并生成新的程序集。该程序集将保存在IntermediateOutputPath 中,并且它会自动添加到应用程序或库的References列表中。...view=net-7.0 我的 NuGet 包仍然有效吗? 有些人可能担心通过此更改,现有的包引用将停止工作。不用担心,新系统引入了一个修剪步骤,它将会升级旧系统的程序集引用以使用新系统。...如果您不再需要支持 Xamarin.Android 类,您可以将项目升级到 .NET Sdk Style 项目并使用以下内容: net7.0-android;net8.0...但是,如果您使用 .nuspec,则需要手动将 .aar 文件添加到要包含的文件列表中。 与.aar文件和嵌入文件相关的更改在OneDotNetEmbeddedResources.md中有文档记录。

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    .NET Core 系列5 :使用 Nuget打包类库

    NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget...已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错。...从运维角度,可在不影响老版本的情况下发布新版本,可统一管理公司各个项目中组件版本不一和各个版本组件的使用情况,减少故障发生以并使得项目稳定运行。...该项目被依赖的 NuGet 包装被添加到 nuspec 文件,因此,他们能够在安装包时得到解决。 默认情况下,项目到项目之间的引用是不打包到项目中的。...-c, --configuration [Debug|Release] 当生成项目时使用的配置。如果没有指定,将默认为 “Debug”。 例子 dotnet pack 打包当前项目。

    1.8K50

    .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    : Console Web Library xUnit Test dotnet restore restore命令使用NuGet还原在项目文件project.json 中定义的依赖关系和项目特定的工具...-p, --project [PATH] 指定要运行的项目,它可以是project.json的文件路径,可以是包含project.json的路径,如果没有指定,默认是当前路径。...dotnet pack pack命令编译项目并生成NuGet包,该操作会生成两个NuGet程序包: 一个包括已编译代码的程序集文件 一个包括调试符号和已编译代码的程序集文件 项目依赖的NuGet项目添加到生成...dotnet publish 发布命令会编译应用程序并读取项目文件,然后将结果集的文件发布到一个目录。...下次我们将深入了解一下到 project.json 文件,并开始尝试在如何构建更复杂的应用程序与新的.Net Core。

    2.3K50

    通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(3)

    后来我们有了NuGet,我们可以将这些依赖定义在相应的NuGet包中,只要我们安装相应的NuGet包,相应的应用会自动帮我们加上。...ASP.NET 5给了我们另一种定义依赖的方式,那就是直接将针对另一个NuGet包或者项目的依赖定义在project.json 文件中。...在添加的project.json文件中,我们按照如下的方式将针对这个包(采用的版本为“6.0.0-beta1”)的依赖定义在dependencies配置项中。...ASP.NET所有与NuGet包相关的操作(包括NuGet的下载与安装,以及对当前项目进行打包)都通过一个叫做KPM.cmd(K Package Manager)来完成。...也就是说下载并安装的NuGet包是针对当前用户下所有项目共享,而不是被当前项目独占使用的,所以只要确保相应的包存在,我们无需每次都利用KPM重新获取。

    2.2K70

    通过几个Hello World感受.NET Core全新的开发体验

    ; 9: } 10: } 11: } 我们创建的控制台项目直接映射为一个目录,项目自身的设置定义在project.json这个文件中,该文件的整体定义反应在如下所示的代码片段中...对于.NET Core来说,所有使用到的程序集都被打包成一个NuGet包,所以针对程序集的直接依赖转变成针对某个NuGet包的依赖。...我们定义在Project.json中的设定的NuGet包可能尚未在本地安装,我们可以执行dotnet restore命令获取并在本地安装所有需要的NuGet包。...我们以开启项目(File->Open->Project/Solution)的方式打开project.json后,相当于开启了整个控制台项目。...Razor引擎,我们同样需要将相关的NuGet包“Microsoft.AspNetCore.Razor.Tools”按照如下的方式添加到project.json文件中。

    1.3K61

    将 WPF、UWP 以及其他各种类型的旧 csproj 迁移成基于 Microsoft.NET.Sdk 的新 csproj

    当然,微软曾经尝试过用 project.json 来组织项目文件,不过只有短短的预览版阶段用过,此后就废弃了。...自动迁移 自动迁移的方法我写了一篇新的博客,请阅读 自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference。...就是试图迁移的那个项目!无论依赖了谁还是被谁依赖,都是此项目发生“NuGet”错误。...但是,只有使用了 Microsoft.NET.Sdk 的新 csproj 文件才会在执行了此命令后重新生成正确的包引用缓存文件;原来的格式并不会生成此文件,也就是说,无法修复。...唯一的解决办法就是清除项目中的所有 NuGet 缓存,使用 git clean -xdf。 迁移之后的劣势 迁移成新的 csproj 格式之后,新格式中不支持的配置会丢失。

    2K20

    MSBuildRoslyn 和 NuGet 的 100 个坑

    编译不通过后无法安装和更新 NuGet 包 有些情况下,会因为项目没有办法完成编译导致无法安装和更新某些 NuGet 包;但编译不通过其实就是这个 NuGet 包导致的(比如某个测试包)。...将 WPF、UWP 以及其他各种类型的旧 csproj 迁移成 Sdk 风格的 csproj 一文讲述了如何为项目文件添加 Sdk 属性,以便项目能够体验到最新的 Microsoft.NET.Sdk 编译体验...但是,只有使用了 Sdk 风格的 csproj 文件才会在执行了此命令后重新生成正确的包引用缓存文件;原来的格式并不会生成此文件,也就是说,无法修复。...唯一的解决办法就是清除项目中的所有 NuGet 缓存,使用 git clean -xdf。....nuget.g.props 和 .nuget.g.targets 使用 Microsoft.NET.Sdk 作为 Sdk 的项目文件会自动在 obj 文件夹下生成 project.assets.json

    97530

    MSBuildRoslyn 和 NuGet 的 100 个坑

    编译不通过后无法安装和更新 NuGet 包 有些情况下,会因为项目没有办法完成编译导致无法安装和更新某些 NuGet 包;但编译不通过其实就是这个 NuGet 包导致的(比如某个测试包)。...将 WPF、UWP 以及其他各种类型的旧 csproj 迁移成基于 Microsoft.NET.Sdk 的新 csproj 一文讲述了如何为项目文件添加 Sdk 属性,以便项目能够体验到最新的 Microsoft.NET.Sdk...但是,只有使用了 Microsoft.NET.Sdk 的新 csproj 文件才会在执行了此命令后重新生成正确的包引用缓存文件;原来的格式并不会生成此文件,也就是说,无法修复。...唯一的解决办法就是清除项目中的所有 NuGet 缓存,使用 git clean -xdf。....nuget.g.props 和 .nuget.g.targets 使用 Microsoft.NET.Sdk 作为 Sdk 的项目文件会自动在 obj 文件夹下生成 project.assets.json

    1.7K20

    .NET跨平台之旅:将示例站点从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0

    接下来遇到的问题是 ASP.NET Core MVC 路由匹配问题 ,用 dotnet run 将站点运行起来后,访问任何URL都出现404错误。...后来还是怀疑到可能是 project.json 的问题,于是与 dotnet-cli 的示例项目 cli-samples 中的 project.json 进行对比,试了试添加如下的配置,问题竟然奇迹般地解决了...不仅我们的项目有这个问题,而且 cli-samples 中的 HelloMvc 项目也有这个问题。...于是,照着这个修改了我们项目中的 project.json ,问题立马解决,我们的.NET跨平台之旅的示例站点 about.cnblogs.com 也就成功运行了起来,升级总算成功完成了。...分享一下这个示例项目中的三个文件: project.json: { "compilationOptions": { "preserveCompilationContext": true

    1.2K70

    使用批处理根据项目工程文件生成Nuget包并发布(支持.NET Core)

    最近在使用之前自己编写的批处理给.NET Core项目打包时出问题了,发现之前的脚本根本不适用了,折腾了半天,总算解决了。因此在这里分享下经验,并且奉上整理好的脚本。...下载Nuget.exe 下载地址:https://www.nuget.org/ 注意下载最新的Nuget.exe,尤其是打包.NET Core项目时。...内容如下: :: 包搜索字符串 echo %1 :: 项目方案地址 echo %2 :: 删除历史包 del %1 /f /q /a :: 包名称 set nupkg="" :: 打包 nuget...,请填写项目的“project.json”地址,比如“Magicodes.Sms/project.json”。...Magicodes.WeChat.SDK")] [assembly: AssemblyDescription("Magicodes.WeChat.SDK为湖南心莱信息科技有限公司基于微信业务封装的工具包,以便更便捷更简单的调用和使用微信接口

    84830

    .NET Core的文件系统:由EmbeddedFileProvider构建的内嵌(资源)文件系统

    借助于EmbeddedFileProvider,我们可以统一的编程方式来读取内嵌于某个程序集中的资源文件,不过在这之前我们必须知道如何将一个项目文件作为资源并嵌入到生成的程序集中。...目录 一、将项目文件变成内嵌资源 二、读取资源文件 三、EmbededFileProvider 一、将项目文件变成内嵌资源 在默认情况下,我们添加到一个.NET项目中的静态文件并不会成为项目编译生成的程序集的内嵌资源文件...如果需要,我们需要通过修改project.json文件中与编译相关的设置显式地将某个项目文件添加到内嵌资源文件列表中,这个与内嵌资源相关的配置选项就是“buildOptions/embed”。...packOptions/files:从当前项目中选择在打包的时候添加到生车的NuGet包的文件。 publishOptions:从当前项目中选择需要发布的文件。...总的来说该目录(含其子目录)一共包含4个文本文件,我们现在需要通过在project.json文件中设置它的“buildOptions/embed”配置选项,从而将相应的文本文件内嵌到项目编译生成的程序集中

    1.3K80

    .NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序

    [源代码从这里下载] 目录 步骤一、安装最新的.NET Core SDK 步骤二、定义源代码和配置         定义NuGet.xml         定义Project.json        ...定义NuGet.config 我们在NuGet.config文件中定义应用程序使用的NuGet包所在的站点地址(https://www.myget.org/F/aspnetrc2/api/v3/index.json...定义在Project.json文件中的所有配置如下所示,我们会发现它与RC1中的Project.json不太一样。...如下面的代码片段所示,我们在ConfigureServices方法中注册了与MVC相关的服务,并利用Configure方法将实现MVC框架的中间件注册到消息处理管道中。...包以及编译执行.NET应用的相关操作都可以通过它来完成 恢复NuGet包 我们打开命令行工具并切换到应用所在的目录,执行dotnet restore命令恢复在project.json中使用的NuGet包

    1.1K100

    .NET 基金会项目介绍-MvvmCross

    MvvmCross 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。...使用 Model-View-ViewModel (MVVM) 设计模式能够在多平台间使用一套代码共享业务逻辑。 MvvmCross 专门为 Xamarin 和移动设备生态设计。...此类框架总能在一定程度上解决多设备UI需要重复开发的窘境,不过往往随着业务复杂度的攀升,为了适配而产生的额外代码又无法避免。...开发者可以尝试并使用此框架减轻初期多重开发的困难,而随着团队和业务的演变,变化永远是不会停止的。...Nancy - 【Web开发框架】 .NET Core - 【Web开发框架】 Newtonsoft.Json - 【JSON处理库】 NuGet - 【包管理框架】 NUnit Test Framework

    2.3K30
    领券