工具-选项-项目和解决方案,总是显示解决方案打钩,就可以在解决方案资源管理器中看到了解决方案了,之后你在文件另存为解决方案,选择你要放的路径就可以了

生成-生成解决方案,会弹出一个对话框,让你选择存放.SLN的路径。
使用vs2010打开".vcproj"项目工程文件,“文件”-》“保存**.sln”即可。
一,编译之前的准备。
1)了解代码组织结构。
Chromesource非常庞大,并且在其主目录下还包含有工具和组件,任何一个工具和组件也附带有其源代码。首先得熟悉这些源代码的组织结构,在中包含如下子目录:releases,曾经发布过的chrome源代码的正式版本;trunk,当前最新的源代码。由于releases中的代码比较旧,这里就不做说明了,只说明trunk的结构。在trunk下面有3个重要的目录,deps包含了chrome编译和运行所需要的全部组件的代码。src里面包含的则是chrome的主程序的代码,tools包含的是下载和配置编译所需要的第三方工具的压缩包和源代码,其中就有svn和python这2个比较重要的工具,后面再详细介绍。暂时做这样一个简单的介绍,因为其组织结构比较负责,以后再作补充斧正。
2)如何下载和同步源代码。
1,最简单的方法是从chrome官网上直接下载源代码压缩包,地址是。
2,或者采用svn从这个地方heckout,这要求你先在本地建一个源代码的主目录。
3,另外一个办法则是采用google提供的一个部署工具depot_tools。虽然这几种办法都可下载完整的源代码,但目前的情况是:chrome基于VisualStdio2005进行编译,如果顺利完成编译工作,自然少不了sln文件,较早的源代码中包含有现成的sln和vcproject文件,但后来做了修改,这些文件被抛弃掉,Google自己开发了一种脚本工具叫做GYP,这个工具采用python编写,GYP采用了自定义的一套规则,用于生成各种工程文件。而关键的python则包含于depot_tools中,因此不论采用什么方法下载的代码,都得下载depot_tools这个工具,以获得必须的工程文件。
depot_tools位于下面,包括一个目录和一个zip格式的压缩包。
前面提到Chrome采用VisualStdio2005进行编译,根据的说明,需进行如下操作正常编译
d,如果是vista系统,还需安装VisualStudio2005ServicePacke1UpdateforWindowsVista.
e,安装Windows2008SDK,如果是VisualStudio2008则不需要这一步。
f,配置Windows2008SDK,使2008SDK成为首选开发库,以获得一些新功能和特性。办法是在开始-程序-MicrosoftWindowsSDKv6.1VisualStudioRegistrationWindowsSDKConfigurationTool,选择makecurrent按钮。也可以在VS里面手动配置include和libary路径,效果是一样的。
二,如何配置工程文件
1,如果是采用depot_tools,那么从代码下载到生成sln文件会自动完成。其步骤是
(1)下载depot_tools到本地存储,假设位于d:/depot_tools.
(2)将d:/depot_tools添加到系统环境变量中。
(3)创建一个源代码根目录,假设为d:/chrome,目录不得包含空格。
(4)在命令行下切换当前目录到d:/chrome。
(5)执行命令gclientconfig,该命令会首先下载svn和python分别到d:/depot_tools/svn_bin和d:/depot_tools/python_bin。
(6)执行命令gclientsync这个命令会调用svn同步源代码。这个过程会比较漫长。全部完成之后全部源代码就保存在d:/chrome里面。未编译的代码大约有4个G左右,过程将十分漫长。这样获得的源代码已经包含所有的工程文件,可直接打开。
另外需要说明的是,gclientsync的过程非常漫长,根据命令行的提示来看总共需要同步67个项目(不是工程),期间可能会因为一些原因导致错误而退出这个过程,需要继续调用sync。比如网络出现故障svn会多次进入sleep状态然后重试,如果多次失败就会报错退出,还有的情况是某些子目录的属性问题无法同步,可根据提示进行操作。还有个目前新出现的问题,下面2个目录“src/webkit/data/layout_tests/LayoutTests”和“src/third_party/WebKit/LayoutTests”的源代码是从src.webkit.org签出来的,但是这个网站目前存在问题无法签出代码,需要屏蔽掉这2个目录,由于里面是测试代码,即使丢弃也不会影响整个工程的编译,方法是打开trunk下面的.gclient文件,向里面添加如下内容
文件这样svn就能完成代码的同步了。最后gclient会调用depot_tools/python_bin/python.exe对src/build/gyp_
chromium进行处理,这样就得到了所有的sln和vcproject文件。
2,如果是下载的代码压缩包或者checkout的代码,代码目录里面没有sln文件,这个时候需要调用命令行进入源代码根目录,然后执行命令gclientrunhooks--force,命令执行后会直接对Chrome.gyp进行解析,生成sln文件。
在实际下载过程中,最开始的时候我用TortoiseSVN从checkout源代码,但是得到的代码只有几百兆,执行gclientrunhooks--force命令后也没有找到sln文件,具体原因未知,不建议使用此方式。而直接下载代码压缩包的方式没有尝试过,不知道是否可行。因此最稳妥的方法还是使用depot_tools来部署和处理源代码。
启动VisualStudio2005打开src/chrome/browser/chrome.sln,或者打开src/build/all.sln,如果打开的是chrome.sln里面包含480个工程,而all.sln则包含507个工程,一些09年的编译说明提到有300左右的工程,可见chrome的代码变动比较大。对整个解决方案进行编译,打开需要2个小时才能完成编译,视硬件环境而定,内存越大越快,推荐4G以上内存,酷睿2核或者4核。编译完成以后据说会占用30G的空间。编译后的文件位于d:/chorme/chrome/debug目录或者d:/chorme/chrome/release目录下。
四chrome涉及的开源项目
Chrome采用了很多开源项目,这里把它们列出来以备后用,目前Chrome涉及25个开源代码:
开源的跨开台程序崩溃报告系统。
Google小巧的URL解析整理库。
Google开源的JavaScript引擎。V8实现了ECMA-262第三版的ECMAScript规范,可运行于WindowsXP和Vista,MacOSX10.5(Leopard),及Linux等基于IA-32或ARM的系统之上。V8可单独运行也可嵌入到任何C程序中。
开源的浏览器引擎
NetscapePortableRuntime(NSPR)提供了系统级平台无关的API及类似libc的函数。
NetworkSecurityServices(NSS)一套用于支持服务器端与客户端安全开发的跨平台函数库。程序通过NSS可支持SSLv2andv3,TLS,PKCS#5,PKCS#7,PKCS#11,PKCS#12,S/MIME,X.509v3认证及其它一些安全标准。
用于开发Windows程序与UI组件的Clibrary。WTL扩展了ATL(ActiveTemplateLibrary)并提供一套用于controls,dialogs,framewindows,GDIobjects等开发的类。
Google用于编写C测试的基于xUnit架构的框架,可用于多种平台上:Linux,MacOSX,Windows,WindowsCE,andSymbian。支持自动测试发现,有一套丰富的Assertions断言,用于可自定义断言,deathtests,fatalandnon-fatalfailures,variousoptionsforrunningthetests,andXMltestreportgeneration.
bsdiff与bspatch用于为二进制文件生成补丁。
bzip2使用Burrows-Wheelerblocksortingtextcompression算法与Huffman编码压缩文件。
ICU是一套成熟并被广泛使用的C/C及Java库,可为软件提供Unicode与全球化支持。
用于处理JPEG(JFIF)图像格式的库。
PNG图像格式库。支持绝大部分的PNG特性,可扩展。已经被广泛地使用了13年以上了。
LZMA为7-Zip软件中7z格式压缩所使用的压缩算法,有很好的压缩效果。
一系列高性能的c-string转换函数,比如:base64encoding/decoding。通常比其标准实现快两倍以上。
多种浏览器使用的跨平台插件架构。
用于编写多线程程序的API
大名鼎鼎的嵌入式数据库引擎。自管理、零配置、无需服务器、支持事务。
SSL3.0,TLS1.0,andTLS1.1的Python免费实现库。TLSLite支持这些安全验证方式:SRP,sharedkeys,andcryptoIDsinadditiontoX.509certificates。注:Chrome并不包涵Python。TLSLite用于Chrome开发过程中的代码覆盖、依赖检查、网页加载时间测试及生成html结果比较等。
zlib为一套用于任意平台与机器的无损数据压缩的库,它免费、自由、无任何法律专利问题。
rc文件不可能编译生成sln文件。sln是解决方案(solution)文件,rc是资源(resource)文件。解决方案由若干个项目(project)构成,而项目中才会包含资源。rc文件编译后形成res文件,是资源的二进制文件。
一,新建网站是没有这个sln文件的,如果你想有这个文件就要另存为...,在解决方案资源管理器里面选中解决方案,然后在VS的文件选项里面选择XX.sln另存为...就可以了,winform项目新建就有的,不用另存为
二,这个文件就是解决方案的配置文件,小项目用处不大,主要是大项目...
三,还是因为这个就是解决方案的配置文件,你一双击就打开了这个解决方案下的所有项目...(如果你双击项目文件就能打开一个项目下的所有文件)