首页 > 代码库 > 创建可同时用于.net core与.net framework的库,并发布到nuget
创建可同时用于.net core与.net framework的库,并发布到nuget
我们在引用nuget上的类库时常常会看到如下类型的包
这说明它分别可用于使用.netFramework或使用.net Core的项目.这样的包可以兼顾到不同框架版本的项目,但只需在nuget发布一个包就行,非常的方便.
那么如何来创建一个这样的通用类库呢?
首先使用vs2017新建一个标准库
编辑csproj文件
编辑标签TagetFramework,添加如图标出的内容
重载项目,然后生成项目可以发现在debug目录生成了两个文件夹,说明你已经创建了一个可用于多个目标框架的类库,简称多目标库
仅仅到这步还不够,因为net45提供的api与netstandard提供的api是有差异的,例如获取程序工作文件夹路径的方法
使用.net framework4.5的方法是
string rootDir = AppDomain.CurrentDomain.BaseDirectory
使用.net core
string rootDir = AppContext.BaseDirectory;
对于这样有差异的代码我们应该使用条件编译的方法兼容,方法如下
查看项目的编译符号,项目->右键->属性->生成
可以看到项目的生成符号是NET45,我们的兼容代码就可以这样编写
并且可以在导航栏来切换不同框架版本来进行调试
最后一步就是生成nupkg包来发不到nuget,右键项目点击打包
生成目录下找到nuget包文件,并发布到nuget
创建可同时用于.net core与.net framework的库,并发布到nuget
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。