转自:http://www.bubuko.com/infodetail-2100868.htmlhtml
原文:http://www.cnblogs.com/huanent/p/6935719.htmlapi
咱们在引用nuget上的类库时经常会看到以下类型的包并发
这说明它分别可用于使用.netFramework或使用.net Core的项目.这样的包能够兼顾到不一样框架版本的项目,但只需在nuget发布一个包就行,很是的方便.框架
那么如何来建立一个这样的通用类库呢? 首先使用vs2017新建一个标准库.net
编辑csproj文件debug
编辑标签TagetFramework,添加如图标出的内容调试
重载项目,而后生成项目能够发如今debug目录生成了两个文件夹,说明你已经建立了一个可用于多个目标框架的类库,简称多目标库code
仅仅到这步还不够,由于net45提供的api与netstandard提供的api是有差别的,例如获取程序工做文件夹路径的方法htm
使用.net framework4.5的方法是blog
string rootDir = AppDomain.CurrentDomain.BaseDirectory
使用.net core
string rootDir = AppContext.BaseDirectory;
对于这样有差别的代码咱们应该使用条件编译的方法兼容,方法以下 查看项目的编译符号,项目->右键->属性->生成
能够看到项目的生成符号是NET45,咱们的兼容代码就能够这样编写
而且能够在导航栏来切换不一样框架版原本进行调试
最后一步就是生成nupkg包来发不到nuget,右键项目点击打包
生成目录下找到nuget包文件,并发布到nuget