Visual studio 2017 Visual Studio安装项目将GAC程序集添加为检测到的依赖项

Visual studio 2017 Visual Studio安装项目将GAC程序集添加为检测到的依赖项,visual-studio-2017,setup-project,gac,Visual Studio 2017,Setup Project,Gac,我正在使用Visual Studio 2017,我正在使用它为Visual Studio 2017提供创建安装项目的能力 我创建了新的安装项目,并将WPF应用程序的主要输出添加到该安装项目中。这里一切都好 问题是:Visual Studio 2017将GAC程序集添加到检测到的依赖项部分,并将它们添加到应用程序文件夹中 它将重复添加它们(每个程序集添加两次) 这是一张图片 最后,当我使用MSI包安装应用程序时,GAC程序集被复制到包含该应用程序的文件夹中 那么,为什么VisualStudio会这

我正在使用Visual Studio 2017,我正在使用它为Visual Studio 2017提供创建安装项目的能力

我创建了新的安装项目,并将WPF应用程序的主要输出添加到该安装项目中。这里一切都好

问题是:Visual Studio 2017将GAC程序集添加到检测到的依赖项部分,并将它们添加到应用程序文件夹中 它将重复添加它们(每个程序集添加两次)

这是一张图片 最后,当我使用MSI包安装应用程序时,GAC程序集被复制到包含该应用程序的文件夹中

那么,为什么VisualStudio会这样,我做错了什么
我试图排除GAC DLL,但VS正在覆盖它
我想从检测到的依赖项中删除GAC DLL,但vs不允许我这样做

我不想将GAC程序集复制到应用程序文件夹,我想直接从GAC使用它们。怎么做

注1:我使用TFS托管解决方案的源代码。
注2:所有项目均根据x64版
构建
注意3:尽管程序集下有一个读取行,但在构建visual studio时不会给我任何错误或警告


更新

我认为,依赖cmd.exe是最严重的问题。很难猜到您做了什么,闻起来好像您给了项目一个非标准的调试启动操作设置。首先去掉这个,其余的可能会跟着。Mr@HansPassant我依赖于
cmd.exe
,因为我想在安装后执行批处理文件,我的想法来自于,不要这样做,每台Windows机器都已经有了cmd.exe的副本。您永远不想用安装程序销毁它。@HansPassant感谢您建议删除cmd.exe,删除它会使DLL名称下的红线消失,安装程序仍按预期工作,批处理文件仍在正确执行。但是复制GAC程序集的问题没有解决。如果可以,请避免“主输出”。如果它只是一个或两个WPF可执行文件,那么只需将该文件添加到应用程序文件夹中即可。