C# 什么';在.NET Framework中管理库的依赖关系的正确方法是什么?

C# 什么';在.NET Framework中管理库的依赖关系的正确方法是什么?,c#,.net,C#,.net,我有一个带有一组依赖程序集的.NET Framework项目。其中一个程序集依赖于第三个程序集 项目1依赖于-->程序集A,后者依赖于-->程序集B 我想做的是确保在部署程序集A时,该部署中包含程序集B。有没有办法在程序集a内强制进行依赖性检查,以便在启动项目1时,如果程序集B不与程序集a一起出现,则该项目将失败 我是否应该将程序集B包含在项目1中?我不喜欢的是,在项目1中没有程序集B的代码引用。在审查项目时,这是误导性的,因为程序集A不需要这种依赖关系 确保用于添加“程序集A”的NuGet的作

我有一个带有一组依赖程序集的.NET Framework项目。其中一个程序集依赖于第三个程序集

项目1依赖于-->程序集A,后者依赖于-->程序集B

我想做的是确保在部署程序集A时,该部署中包含程序集B。有没有办法在程序集a内强制进行依赖性检查,以便在启动项目1时,如果程序集B不与程序集a一起出现,则该项目将失败

我是否应该将程序集B包含在项目1中?我不喜欢的是,在项目1中没有程序集B的代码引用。在审查项目时,这是误导性的,因为程序集A不需要这种依赖关系

  • 确保用于添加“程序集A”的NuGet的作者正确编写了它,并正确地包含了对所有相关NuGet的引用

  • 如果不使用NuGet添加“程序集A”-请为“程序集A”创建NuGet并转到1


  • 程序集A是否通过项目引用、dll引用或NuGet包引用程序集B?我相信,如果引用时将依赖程序集与目标程序集一起拉入,则所有内容都将发布,除非您转到发布文件夹并手动删除它。此“应”会自动发生。也就是说,VS2019中的新发布向导存在问题,其中之一可能是它在临时切换到发布模式后无法正确构建依赖项。作为最后手段,您可以将解决方案置于发布模式,生成项目,然后从bin文件夹手动复制,确保所有文件都是最新的。程序集a通过dll引用引用程序集B您可以在internet上找到大量帖子,说MSBuild无法通过此文件夹复制间接程序集。很难说出“正确的方法”,因为每个人的想法都可能不同。最好的办法是微软修复这些漏洞,但你可能更喜欢其他的方法,比如一种变通方法