Visual studio 2010 VS2010(旧版)安装程序项目-两个或多个对象具有相同的目标位置

Visual studio 2010 VS2010(旧版)安装程序项目-两个或多个对象具有相同的目标位置,visual-studio-2010,windows-installer,compiler-warnings,Visual Studio 2010,Windows Installer,Compiler Warnings,此安装程序项目创建于2004年,并从那时起升级 有两个有问题的dll文件,总共产生4个错误 我在网上搜索了这条警告消息,但没有找到永久的修复程序(我确实设法让它消失了一次,直到我完成了一个干净的或内置的版本,然后在调试中) 我还尝试了清理,然后刷新依赖项。重复的条目仍在那里 对于这个错误的含义,我也没有找到一个很好的解释 其他警告属于此类性质: 警告36.NET的版本 框架启动条件.NET 框架4'与 选定的.NET Framework引导程序 包裹更新.NET框架 启动条件以匹配版本 在中选择

此安装程序项目创建于2004年,并从那时起升级

有两个有问题的dll文件,总共产生4个错误

我在网上搜索了这条警告消息,但没有找到永久的修复程序(我确实设法让它消失了一次,直到我完成了一个干净的或内置的版本,然后在调试中)

我还尝试了清理,然后刷新依赖项。重复的条目仍在那里

对于这个错误的含义,我也没有找到一个很好的解释

其他警告属于此类性质:

警告36.NET的版本 框架启动条件.NET 框架4'与 选定的.NET Framework引导程序 包裹更新.NET框架 启动条件以匹配版本 在中选择的.NET Framework的 “先决条件”对话框


那么,这个先决条件框在哪里?我想在.Net 4.0上使这两件事达成一致,只是很难找到它们。

我假设您的安装程序中添加了不止一个主项目输出。此外,这些项目使用生成警告的DLL,您可以轻松地排除它们,但正如您所观察到的,这并不是一个永久性的修复。在我的解决方案中,我通过右键单击项目输出(引用DLL)并定义排除过滤器(仅使用DLL的名称)永久消除了这些警告。我在引用DLL的所有项目输出上执行此操作。作为最后一步,我手动将DLL添加到安装程序中(这要求DLL位于某个定义良好的位置(例如,lib文件夹)。这样,DLL只添加一次,您就消除了警告


右键单击安装项目文件,选择“属性”将显示一个小对话框,其中有一个先决条件…按钮:我想这将回答您的第二个问题。

如果在“解决方案资源管理器”窗口中右键单击您的解决方案,您将看到一个“项目依赖项…”选项
单击该选项将显示一个对话框,允许您设置解决方案的各个组件之间的依赖关系。然后,如果正确设置了“项目启动”选项(解决方案中的哪个组件是启动组件或主组件),您只需要在安装程序中包含启动项目的“主要输出”,它将在安装程序中只提取依赖项并包含一次DLL。设置所有这些,清理解决方案,重新生成,然后生成安装程序。

问题:如何在筛选出DLL后手动添加它们?谢谢。I如果在解决方案资源管理器中选择安装项目,则可以打开解决方案资源管理器工具栏中的“文件系统编辑器”。然后选择希望DLL成为的文件夹(例如GAC),并使用上下文菜单(鼠标右键单击)添加文件(基本上与添加项目输出的方式相同)…我只是建议您将DLL放在解决方案目录下的某个特殊文件夹中…希望这有助于解决项目依赖项的问题,但是.DLL文件仍然存在问题。但是为我删除了~16个警告!回答得很好!