gpt4 book ai didi

c# - .net core 和 .net framework 4.6 的 Nuget 包兼容性

转载 作者:行者123 更新时间:2023-11-30 14:22:25 25 4
gpt4 key购买 nike

我创建了一个支持 .net 框架和 .net 核心的 nuget 包。但是其中的一个类具有仅适用于 .net 核心的引用。我不需要那个类在 .net framwork 中可用

是否有任何属性或方法可用,在为 .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”符号或类似符号会很好,但我不要相信那些存在。如果你愿意,你可以在你的项目文件中指定它们。)

关于c# - .net core 和 .net framework 4.6 的 Nuget 包兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49810390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com