zoukankan      html  css  js  c++  java
  • 配置使用TargetFrameworks输出多版本类库

    1.类库右键

    2.修改配置

    修改前:

    <Project Sdk="Microsoft.NET.Sdk">  
      
      <PropertyGroup>  
        <TargetFramework>netstandard2.0</TargetFramework>  
      </PropertyGroup>  
      
    </Project>  
    

      

    修改后:

    <PropertyGroup>
        <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
      </PropertyGroup>
    

    3.依赖:

    <ItemGroup>  
      <Reference Include="System.Net" />  
    </ItemGroup>  
    

    这样表示net40和netstand2.0都需要System.Net引用,

    展开会看到在netstandard2.0上出现了感叹号,表示netstandard2.0并不知道System.Net是什么东东

    实际只有net40才需要该引用,所以这里我们要使用Condition

    <ItemGroup Condition="'$(TargetFramework)' == 'net40'">  
      <Reference Include="System.Net" />  
    </ItemGroup>  
    

    这表示只有net40才符合条件,保存后你会发现依赖项那边的感叹号消失了

    4.debugger

    定义constants

    <PropertyGroup Condition=" '$(TargetFramework)' == 'net40' ">  
      <DefineConstants>NETFULL</DefineConstants>  
    </PropertyGroup>  
    
    #if NETFULL  
            int number;  
    #else  
            string number;  
    #endif  
    

    5.扩展

    <ItemGroup Condition=" '$(TargetFramework)' == 'net45' OR '$(TargetFramework)' == 'net46' ">
        <Reference Include="System" />
        <Reference Include="Microsoft.CSharp" />
      </ItemGroup>
    
      <PropertyGroup Condition=" '$(TargetFramework)' == 'net45' or '$(TargetFramework)' == 'net46'">
        <DefineConstants>$(DefineConstants);FEATURE_SERIALIZATION;FEATURE_SOCKET_MODE_POLL;FEATURE_PERFCOUNTER;FEATURE_THREADPOOL</DefineConstants>
      </PropertyGroup>
    

      

     

  • 相关阅读:
    iptables
    linux时间同步
    iftop使用
    linux目录结构及定时任务
    awk基本用法
    二、Java面向对象(6)_深入变量
    二、Java面向对象(5)_static修饰符
    二、Java面向对象(4)_构造函数
    二、Java面向对象(3)_类和对象
    二、Java面向对象(2)_软件开发方式
  • 原文地址:https://www.cnblogs.com/liuqiyun/p/9151659.html
Copyright © 2011-2022 走看看