提问者:小点点

2个程序集中引用的Nuget包不起作用


我有一个这样构建的解决方案:

项目A-

我目前正在开发Assembly2,它依赖于Assembly1。我用ProjectA调试。再见,Newtonsoft。dll被复制到我的bin文件夹,一切正常。

现在我想在Assembly2中直接使用Newtonsoft,所以我将其添加为NuGet包。在那之后,Newtonsoft。dll不再复制到bin文件夹。

我尝试直接下载Newtonsoft.dll(或使用Newtonsoft.dll从Assembly1直接通过浏览)。这也管用。看起来,这个问题只会发生,当我使用Nuget在汇编2.有人能解释这种行为吗?

我使用了完全相同的Newtonsoft版本。


共1个答案

匿名用户

肯定令人费解。根据你的描述应该没问题,但是...

“传递依赖”是你的朋友。如果assy1引用NS. Json,并且assy2引用assy1,则NS. Json对assy2可用。没有必要从assy2引用NS. Json。

这是一件好事。这意味着某些版本控制地狱被移除。如果你想升级NS。Json那么你只有一个地方可以这么做。ref不会分散在您的项目中。如果您也遵循拥有“干净”依赖关系图的良好实践,那么这将非常有效。