我有一个当前是多目标的类库,NET40
并且NETSTANDARD2.0
:
<TargetFrameworks>net40;netstandard2.0</TargetFrameworks>
NETCOREAPP2.1
但是,我现在还需要支持一些新的 api,这些新 api是作为netstandard
.
我最初的想法是简单地扩展当前框架以包括NETCOREAPP2.1
:
<TargetFrameworks>net40;netstandard2.0;netcoreapp2.1</TargetFrameworks>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.1'">
<DefineConstants>NETCORE</DefineConstants>
</PropertyGroup>
在代码中我可以像这样使用新添加的 API:
#if NETCORE
// Use the api added in NETCORE 2.1
#endif
但是,一旦在面向更高版本.NET Core的应用程序中使用该库后会发生什么?例如.NET Core 2.2?我必须为每个新发布的版本创建新的常量吗?
在理想的世界NETCOREAPP2.1
中会实施NETSTANDARD2.1
,但不幸的是事实并非如此。