VS2010 (older) installer project - two or more objects have the same target location

狂风中的少年 提交于 2019-12-04 01:03:33

问题


This installer project was created back in 2004 and upgraded ever since.

There are two offending dll files, which produce a total of 4 errors.

I have searched online for this warning message and did not find a permanent fix (I did manage to make it go away once until I have done something like a clean, or built in Release, and then in Debug).

I also tried cleaning, and then refreshing the dependencies. The duplicated entries are still in there.

I also did not find a good explanation for what this error means.

Additional warnings are of this nature:

Warning 36 The version of the .NET Framework launch condition '.NET Framework 4' does not match the selected .NET Framework bootstrapper package. Update the .NET Framework launch condition to match the version of the .NET Framework selected in the Prerequisites Dialog Box.

So, where is this prerequisites box? I want to make both things agree on .Net 4.0, just having a hard time locating both of them.


回答1:


I assume you are having more then one primary project outputs added to your installer. Furthermore these projects use the DLLs that generate the warnings, you can exclude them easily but as you observed this is not a permanent fix. In my solution I got rid of these warnings permanently by right clicking on the project outputs (that reference the DLLs) and defining an exclude filter (just use the name of the DLL). I do this on all project outputs that reference the DLL. As a final step I add the DLL manually to the installer (this requires the DLL to be in some well defined location (e.g. a lib folder). This way the DLL gets added only once and you got rid of the warning.

Right click on the setup project file, selecting Properties will show a little dialog that has a Prerequisites... button: That answers your second question I guess.




回答2:


If you right click on your solution in the Solution Explorer window, you'll see an option for 'Project Dependencies...' Clicking that option displays a dialog that allows you to set the dependencies between the various components of your solution. Then, if you have the 'Project Start' option set properly (which component in your solution is the startup or primary component), you only need to include the 'Primary Output' of your startup project in the installer, and it will pickup the dependencies and include the DLLs only once in your setup installer. Set all of that up, clean your solution, rebuild, and then build your installer.



来源:https://stackoverflow.com/questions/2906051/vs2010-older-installer-project-two-or-more-objects-have-the-same-target-loca

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!