如何确定需要与我的 .Net 4.8 项目一起分发哪些"System" dll



我有一个针对。net 4.8的项目,使用以下dll…

  • Microsoft.Win32。注册表<——在程序集中找到。扩展
  • System.Security.Principal。Windows <——在程序集中找到。扩展
  • System.ServiceProcess。ServiceController <——在程序集中找到。框架

这些引用不会显示在项目的参考列表中,但是在构建项目/解决方案时将被复制到各自的/bin文件夹中。

这些dll是分布在。net 4.8等还是我需要在我的发布包中分发它们?如果是,为什么?如果没有,使用c#我如何以编程方式确定一个特定的dll是否包含在。net 4.8发行版这样我就可以把它从我的分发包中删除了?

编辑1:对我来说不明显的是为什么这些dll首先被复制到/bin文件夹。如果它们作为。net 4.8的一部分发布,那么这似乎是多余的和误导的。

编辑2:考虑到这些dll可能已经存在于最终用户的机器上,而不是因为它们包含在。net 4.8发行版中,如果它们还没有包含在另一个潜在的最终用户的机器上,仅仅不包括它们就可能很快导致灾难性的后果。

这个关于。net发行版中包含的dll的答案回答了分发哪些dll的决定,这个答案有助于解释这些dll的起源。

关于为什么这些dll存在,我期待一个解释,因为它打击我,他们没有价值的目的!

汉斯·帕桑特上面的评论也很好地解释了这个场景,如果他选择回答,就会被标记为答案。

相关内容

最新更新