当前位置 : 主页 > 编程语言 > c语言 >

c# – .net核心和.net框架4.6的Nuget包兼容性

来源:互联网 收集:自由互联 发布时间:2021-06-25
我创建了一个nuget包,它支持.net框架和.net核心. 但是其中的一个类只有.net核心可用的引用. 我不需要在.net框架中使用该类 是否有任何属性或方法可用,在为.net framweork构建包时排除该类?
我创建了一个nuget包,它支持.net框架和.net核心.
但是其中的一个类只有.net核心可用的引用.
我不需要在.net框架中使用该类

是否有任何属性或方法可用,在为.net framweork构建包时排除该类?

这就是我如何定位框架

<TargetFrameworks>netcoreapp2.0;netstandard2.0;net45;net46</TargetFrameworks>
只需使用将在每个目标基础上自动提供的条件编译符号.例如:

// Put this at the start of the file (if you want some of the file to still be built)
// or class (if you just want to exclude a single class). You could even
// exclude just a single method, or part of a method.
#if NETCOREAPP2_0 || NETSTANDARD2_0

public class NetFrameworkOnlyClass
{
}

// And this at the end
#endif

或者不包括,你可以这样排除:

#if !NET45 && !NET46

有关每个环境中定义的条件编译符号的列表,请参阅cross-platform library tutorial. (我认为拥有版本中立的“NETCORE”,“NETSTANDARD”和“NETFULL”符号或类似物会很好,但我不相信那些存在.如果你愿意,你可以在项目文件中指定它们.)

网友评论