我有一个.NET库(Products.SDK
),我需要使它与.NET Framework 4.5和.NET Standard 1.4兼容。创建库定位.Net Framework 4.5和.Net标准
(后来我还将创建一个NuGet包出这个库)
我的问题是:
我如何把代码写在这个库?考虑到这两个框架使用不同的库/依赖关系?
我在同一个解决方案下有两个单独的项目吗?
Products.SDK.sln
- Products.SDK.NetFramework
- Products.SDK.NetStandard
我就只有一个项目,并使用
#if
预处理指令都定义不同库内的类?namespace Products.SDK { #if NETSTANDARD1_3 public class ProductsApi { public string ApiUrl { get; set; } } #else public class ProductsApi { public string ApiUrl { get; set; } } #endif }
如果选项1是正确的,我如何确保这两个项目得到使用相同的名称/命名空间(Products.SDK
)
我认为该选项#2是更好的编译,但我不确定这是否正确。
PS:
我在.csproj
文件
<PropertyGroup>
<TargetFrameworks>netstandard1.4;net45</TargetFrameworks>
</PropertyGroup>
正是我需要的,谢谢。祝贺你的职业生涯! – Catalin