Setup Project正在添加内置的.NET Framework .System程序集以进行输出

我正在使用VS Community 2015,其中包含Setup Project扩展 。 我从未见过这个问题与2010一起工作。问题是当我向输出中添加一个项目时,Detected Dependencies列出了我在项目中使用的所有dll,包括内置的:

在此处输入图像描述

运行安装程序后,它继续安装一百个dll文件,包括应该是.NET Framework一部分的文件,如:

  • System.IO.dll
  • System.Linq.dll

我确信:

  • 我将所有项目设置为.NET 4.5.2
  • 在Setup Project中,我将目标.NET框架设置为.NET 4.5.2
  • 在Setup Project中,我将Prerequisite设置为.NET 4.5.2

我究竟做错了什么? 如何让安装程序只安装不属于.NET Framework的DLL(如Caliburn或NLog)。 谢谢。

编辑1:根据’Claudius’的问题,这里是我的机器上安装的.NET框架列表。 请注意,我正在尝试安装在我正在开发的同一台机器上。 My / bin / Release文件夹没有任何.NET .System目录,应用程序运行正常。 在此处输入图像描述

编辑2:发现另一个有类似问题的人。 遗憾地未解决: Visual Studio安装项目:巨大的依赖项列表

这可能是与使用项目输出相关的Visual Studio问题。 例如,如果您要将少量文件安装到应用程序文件夹(可能是某些文件到GAC),那么只需将这些单个文件添加到目标计算机视图上的文件系统中的那些位置即可。

它也可能与CopyLocal设置有关,我确保它没有为程序集设置。

我还要确保您没有得到导致Visual Studio的“添加引用”的设置,以包含来自GAC的程序集而不是相应的SDK程序集。

如果选择一个dll (例如System.IO),您确定它已经在.NET框架中,则可以在属性窗口中将属性Exclude设置为True

dll不会被复制到安装文件中。