VS2010新建解决方案的问题

Eclipse里面是以工作集的形式,每次新建的项目都是以累加的形式出现在工作集里面的,这样就可以除了看到新建的项目外,之前的项目也在,可以随时看之前项目的相关代码。但是转到VS2010之后,我发现,每次新建项目都会关闭之前的项目,然后这样解决资源管理器里面就只有新建的项目了。
我想问的是,如何配置VS2010,或者安装插件,来使得VS2010能够像Eclipse一样,是以工作集的形式出现。每次新建项目时都不会关闭之前建立的项目。
我之前的做法是,右击解决方案资源管理器->添加->新建项目,来实现这个目的。但是问题出现了,每次运行都会把在解决方案资源管理器里面的所有项目都运行一遍,之后在想运行的项目上面右击->调试,才能只启动这一个项目。后来我发现原因在于,解决方案的属性里面的“配置",这里面列举了项目的上下文,并且在最后的“生成”里面的选项都勾选上了,所以才会都运行的。我猜是VS把这几个项目当成是一个解决方案了。
那么如何设置,才能让新建的项目是一个全新的解决方案,而且又能够不关闭之前的解决方案呢?
问题如果解决的漂亮,追加30-80不等的分。

——我猜是VS把这几个项目当成是一个解决方案了。
并非是VS把它当成一个解决方案,而是在VS的设计中,它们就是一个解决方案。一个VS窗口表示一个解决方案,解决方案下可以有多个工程。

我的做法就是开多个VS。如果你不知道可以这样,那么虽然这种做法一点也不漂亮,但是至少可以部分解决你的问题。追问

也只能这样了。不过感觉这么做,很浪费资源。只需要一个VS进程处理多好,非要额外开一个VS实例才行。MS应该有这方面的考虑吧?我觉得应该有对应的方法解决的...

追答

进程也不是那么可怕的东西,多一个进程未必就一定不好..想想chrome也是开一堆进程的...
解决方法也许有,我不知道... 不过要说这种策略,我觉得不坏,因为实际使用过程中,真正需要查看另一个完全不相关的解决方案的机会不多,微软可能也是基于这种用户体验才这么做的,只是你看起来并不同意这种用户体验。

追问

听你这么一说,好像也有点道理。呵呵,好吧,分全给你了!谢谢你的耐心指导!

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-21
请问难道真的是“每次运行都会把在解决方案资源管理器里面的所有项目都运行一遍”吗?应该是只运行“启动项目”吧。每个项目都可以独立“生成”和“执行”(F7才会生成解决方案,也就是生成所有项目),关键是你把哪个“设为启动项目”,如果没有设定的话,会有一个默认的。我认为这种方法要比建立多个独立项目方便。(本人使用VS2010旗舰版)追问

按F5运行,默认会把解决方案资源管理器里面的所有的项目都会生成,你可以在“输出”窗口查看生成情况,不过最后只运行“启动项目”。

追答

可能那是你刚创建解决方案的时候会这样吧,我试了一下,当全部都生成过之后,第二次打开,我按F5不会全部生成。况且我一般不会在不生成的情况下去“启动调试(F5)”,如果只按F5结果会一闪而过,F5我一般只在调试程序时用,大部分执行用的是“开始执行(不调试)(ctrl+F5)”。

追问

呵呵,这个我倒是平时很少注意,平时F5习惯了。我现在解决办法就是多开几个VS2010实例分别运行不同的解决方案。好像没有其他更好的解决方法了。

追答

呃,其实我只是想说完全没有必要建几个解决方案,一个解决方案,包含几个项目,完全可以互不干扰的运行。这样的话便于管理,可以把同类项目放在一起。不过你要习惯那样也可以,也麻烦不到哪儿去。以后没事多多交流吧!

追问

一个解决方案包含多个项目不行,因为VS2010会默认生成一个解决方案文件,以.sln结尾。这个文件里面包含了该解决方案里面的所有项目。因为这些项目在VS2010看来就是一个解决方案里面的分支项目而已。所以在Debug的时候,会把所有的项目生成的.exe,.ilk,.pdb等文件放到一个Debug文件夹下,因为VS2010默认一个解决方案只有一个Debug文件夹。这样各个项目之间就会有链接信息,都存储在了解决方案文件里面了。这样显然是不行的。

追答

我认为就是简单的放在了一起,一个Debug文件夹不错,每个解决方案就只有一个Debug文件夹,但里面的文件可以说互相独立,只是放到一块儿罢了。我认为各个项目唯一关联的信息就是它们在一个解决方案下,像你说的就是一个解决方案的分支,但仅仅是分支,程序的运行绝对不会有所关联,一个项目有且只有一个main。可能我们还是不能说服彼此,但我还是希望你在试着建立一个解决方案,添加两三个项目,我的程序都是按类别放在一个解决方案里的,没有出现过你说的情况,完全可以做到每个项目独立生成。当一个项目生成的时候你会发现Debug文件下只有你生成的那个项目的.exe .ilk .pdb文件……前提是你不是“生成解决方案(F7)”,只有这样才会全部生成。

追问

呵呵,你说的也有道理。谢谢你不厌其烦的指导。

相似回答