zoukankan      html  css  js  c++  java
  • packagereference 里面的资产是怎么回事?

    <PackageReference Include="Newtonsoft.Json" Version="9.0.1">
      <ExcludeAssets>All</ExcludeAssets>
    </PackageReference>


    在项目文件里面,这一行代表引用包,可是有三个子项目,需要说一下:

    IncludeAssets

    ExcludeAssets

    PrivateAssets

    这三个是什么意思?

    中文翻译,Assets是资产,反正无法理解说的是什么鬼。一开始我以为它可以定制引用库里面那个类,搞了好久才发觉这是一个部署选项。

    可以取值:

    compile   影响是否编译到当前项目

    runtime   影响到运行时可不可以使用

    contentFiles

    build      

    analyzers

    native

    none        无

    all            全部

    这个packagereference 设计得非常灵活,他并不是我理解中那个单纯的包管理条目,他还设计成为编译过程中的各个组件提供资料的条目。如果单纯的代码包,用compile可以编译通过,但是不能执行,会提示缺乏相关库,如果compile和runtime一起使用,就能正常编译和运行。其他那些顾名思意,也是为编译过程的各种组件服务的。有一些库并不是运行文件需要的,而只是作为辅助开发工具使用,那么就可以用none。


    另外,项目文件支持一个判断条件:

    Condition="'$(TargetFramework)'=='netcoreapp2.1'"

    这个判断条件可以根据不同的项目类型来选择引入相关包,非常好用。

    项目文件

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType Condition="'$(TargetFramework)'=='netcoreapp2.1'">Exe</OutputType>
        <PackageVersion>1.0.2</PackageVersion>
        <TargetFrameworks>netstandard2.0;netcoreapp2.1</TargetFrameworks>
      </PropertyGroup>
    
    
    </Project>
    
  • 相关阅读:
    ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法
    中华枣文化三字经
    佛祖保佑、永无BUG!!!
    fatal error C1010: 在查找预编译头时遇到意外的文件结尾 (转)
    VisualSVN Server搭建SVN服务器<转>
    AMF_OBJECT 数据结构浅析
    rtmp聊天相关归总
    signal(SIGPIPE, SIG_IGN) (转)
    malloc()与calloc区别 (转)
    select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET(转)
  • 原文地址:https://www.cnblogs.com/Nobel/p/9516949.html
Copyright © 2011-2022 走看看