Closed walterlv closed 2 years ago
这里有坑在于现在不能分开多个框架的项目
这里有坑在于现在不能分开多个框架的项目
源码包的依赖从库包的nuspec拿如何,这样的保证双包的依赖一致,也能解决依赖引用问题...就是流程上会依赖库包的生成
@Zhuangkh 感谢,但似乎不是此问题导致。核心原因是源代码包没有做多分包。多个框架都采用相同的包和内容,对于多个项目来说都是使用相同的执行逻辑
@lindexi
现在的源码包会将所有包依赖直接放在dependencies节点下,而实际上应该根据tfm放在dependencies
的group节点中才能被项目正确引用,关于这点我不确定是不是nuget的版本升级导致的,因为官方文档确实写着可以直接放在dependencies
下.
另外就是没有检测reference
和frameworkAssemblies
.
我正在尝试解决这个问题...解决完引用问题就相当满足我的需求了,想问下你们都是咋调试的..我感觉这个调试体验相当麻烦..
@Zhuangkh 安装完源码包后,你的项目里会多出 SourceProject 文件夹,里面有安装的项目对应的 targets 文件,取消注释里面的文件就可以拉项目下来调试源码包了。
@lindexi 引用问题,我觉得没那么难的样子呀。
方法一:
方法二:
@Zhuangkh 安装完源码包后,你的项目里会多出 SourceProject 文件夹,里面有安装的项目对应的 targets 文件,取消注释里面的文件就可以拉项目下来调试源码包了。
我指调试SourceYard这个项目
方法二:
- 把非源码包解出来,把里面的 Dependencies 节点下的所有内容拷过来重新打包
源码包的依赖从库包的nuspec拿如何,这样的保证双包的依赖一致,也能解决依赖引用问题...就是流程上会依赖库包的生成
我也是这个意思,感觉这样是最方便的,也不用自己再去区分哪些是frameworkAssemblies
哪些是reference
@lindexi 引用问题,我觉得没那么难的样子呀。
方法一:
1. 分 Framework 收集引用
方法二:
1. 把非源码包解出来,把里面的 Dependencies 节点下的所有内容拷过来重新打包
我选方法一
@Zhuangkh 调试方法,参阅: 如何创建一个基于命令行工具的跨平台的 NuGet 工具包 - walterlv
@lindexi 我尝试按方法一写了一下https://github.com/dotnet-campus/SourceYard/pull/111
现在的思路是将库引用和框架引用分版本,放到原来的
<SourcePackingDirectory>$(IntermediateOutputPath)SourcePacking\</SourcePackingDirectory>
里;
将不需要分版本的文件 如CompileFile.txt
那些放到另一个路径
<PackingDirectory>$(BaseIntermediateOutputPath)SourcePacking\</PackingDirectory>
.
再相应去修改生成的nuspec文件,现在framework assemblies的引用应该是正常的了,
包引用在nuget浏览器中显示正常,但加载到项目中时不会自动去还原,还没找到问题
库项目里的这个,在业务项目用源码包安装后,会无法编译,必须手工引用才行。