vs2008 订阅
Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,是对Visual Studio 2005的一次及时、全面的升级。 展开全文
Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,是对Visual Studio 2005的一次及时、全面的升级。
信息
新特性数量
250多个
平    台
Windows Vista、Office 2007等
性    质
下一代开发工具
外文名
Visual Studio 2008
Visual Studio 2008概述
VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows应用程序。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio 2008支持项目模板、调试器和部署程序。Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。如果您是软件开发人员,您一定会对下一代Visual Studio 2008的外壳感兴趣,一个好的开发环境可以让开发工作事半功倍,微软公布了最新版Visual Studio Shell的预览,一起来看一下:我们可以发现新版VS的开发界面分为两个版本:整合模式和孤立模式,分别对基于语言的开发和基于特别工具的开发作了优化。并将Iron Python引入了Visual Studio,该界面将在Visual Studio 2008的Beta2版本中出现。微软开发者部门的副总裁索玛塞加在其博客中表示,尽管Visual Studio 2008软件开发平台是2008年2月份一次产品开发活动的一部分,微软计划于2007年年底开始销售这款产品。 据InfoWorld网站报道称,本周早些时候,微软宣布将在于2008年2月27日举办的一次产品发布会上发布Visual Studio 2008、Windows Server 2008、SQL Server 2008。微软曾表示计划在不久后发售Visual Studio 2008。索玛塞加表示,微软仍然计划在2007年发布这款产品。他说,尽管我们将在来年2月份集中发布数款产品,但根据客户的反馈,我们仍然计划在当年年底时发售Visual Studio 2008和.Net FX 3.5。微软的一名代表详细阐述了相关计划。这名代表在一封电子邮件中说,微软希望在当年年底前发售Visual Studio 2008。客户的反馈将最终决定产品的发售时间。2月份的发布会是一个机会,将向客户、合作伙伴、社区展示微软的创新成果。微软在合作伙伴会议上还宣布,其Software Licensing and Protection Services产品将于10月份发布。它包含帮助ISV在内的开发人员保护知识产权、开发和许可产品版本、跟踪产品和特性使用、与后端过程整合的工具
收起全文
精华内容
参与话题
问答
  • Visual AssistX VC编程助手,涵盖了VC6、VS2008、VS2010

    千次下载 热门讨论 2012-06-24 07:42:35
    Visual AssistX VC编程助手,涵盖了VC6、VS2008、VS2010。 两个文件夹都可以针对VC6使用。 VS2010使用:正常安装助手完毕后,再运行VA_X_Setup1822.vsix,到目录:C:\Documents and Settings\Administrator\Local ...
  • 我的sqlserver2008和vs2008的连接不知道哪里错了,求大神解救啊! 我执行程序就会提示一个![图片说明](https://img-ask.csdn.net/upload/201507/06/1436181227_166135.png) 然后我的连接字符串是这样的:![图片...
  • VS2008小助手破解版

    千次下载 热门讨论 2011-06-03 00:38:12
    VS2008小助手。VC6.0也可以用。
  • mfc : error PRJ0015 : vs2008

    2015-08-12 08:32:52
    # vs2008 mfc : error PRJ0015 : 您的系统缺少 NULL 设备。无法启动生成。 项目生成时出现如下错误: 1>------ 已启动全部重新生成: 项目: DanTest01, 配置: Debug Win32 ------ 1>正在删除项目“DanTest01”(配置...
  • VS2008 MFC下用OpenCV2.0进行图像读取和边缘检测

    千次下载 热门讨论 2009-10-29 16:35:24
    VS2008 MFC下用OpenCV2.0进行图像读取和边缘检测,通过对话框来打开图像文件、然后图像大小进行缩放、适当地显示在图片控件的框架内。
  • VS2008 ~ VS2019下载地址

    千次阅读 2019-10-10 18:06:28
    VS2005 Professional 官方90天试用版 英文版:http://download.microsoft.com/download/e/0/4/e04de840-8f6b-4fe5-ac3d-d3ad8e4c2443/En_vs_2005_Pro_90_Trial.img 中文版:...

    VS2005 Professional 官方90天试用版

    英文版:http://download.microsoft.com/download/e/0/4/e04de840-8f6b-4fe5-ac3d-d3ad8e4c2443/En_vs_2005_Pro_90_Trial.img
    中文版:http://download.microsoft.com/download/5/c/2/5c2840fd-8b03-492e-bd61-6fc2820b8ba3/chs_vs_2005_Pro_90_Trial.img

    VS2008 Professional 官方90天试用版

    英文版 http://download.microsoft.com/download/8/1/d/81d3f35e-fa03-485b-953b-ff952e402520/VS2008ProEdition90dayTrialENUX1435622.iso
    中文版:http://download.microsoft.com/download/e/7/7/e777851c-c1a4-4979-86b3-6886953b32e9/VS2008ProEdition90DayTrialCHSX1435983.iso

    VS2008 Sp1 补丁微软官网下载地址:

    英文版:http://download.microsoft.com/download/a/3/7/a371b6d1-fc5e-44f7-914c-cb452b4043a9/VS2008SP1ENUX1512962.iso
    中文版:http://download.microsoft.com/download/1/9/d/19d22169-a4b2-455f-8c28-ed137bd91487/VS2008SP1CHSX1512981.iso

    VS2010 Professional 试用版:

    中文版:http://download.microsoft.com/download/1/4/3/143B7583-6225-474F-88D5-5811FBC470FD/X16-57473VS2010ProTrialCHS.iso
    英文版:http://download.microsoft.com/download/4/0/E/40EFE5F6-C7A5-48F7-8402-F3497FABF888/X16-42555VS2010ProTrial1.iso

    VS2010 Premium 试用版:

    中文版:http://download.microsoft.com/download/4/C/5/4C5F061E-4C1E-424F-A2B6-B8E66AC9DADD/X16-56515VS2010PremTrialCHS.iso
    英文版:http://download.microsoft.com/download/F/F/8/FF8C8AF1-D520-4027-A844-8EC7BC0FB27C/X16-42546VS2010PremTrial1.iso

    VS2010 Ultimate 试用版:

    中文版:http://download.microsoft.com/download/E/0/4/E0427BB8-8490-4C7F-A05B-AFEA0FC3EA80/X16-60997VS2010UltimTrialCHS.iso
    英文版:http://download.microsoft.com/download/2/4/7/24733615-AA11-42E9-8883-E28CDCA88ED5/X16-42552VS2010UltimTrial1.iso

    VS2010 Sp1 补丁微软官网下载地址:

    多语言版:http://download.microsoft.com/download/E/B/A/EBA0A152-F426-47E6-9E3F-EFB686E3CA20/VS2010SP1dvd1.iso

    VS2012 Ultimate 试用版:

    中文版:http://download.microsoft.com/download/B/0/F/B0F589ED-F1B7-478C-849A-02C8395D0995/VS2012_ULT_chs.iso
    英文版:http://download.microsoft.com/download/D/B/0/DB03922C-FF91-4845-B7F2-FC68595AB730/VS2012_ULT_enu.iso

    VS2012 Update 4 补丁微软官网下载地址:

    多语言版下载地址:http://download.microsoft.com/download/D/4/8/D48D1AC2-A297-4C9E-A9D0-A218E6609F06/VSU4/VS2012.4.exe

    VS2013 with Update 2 试用版:

    中文版:http://download.microsoft.com/download/B/1/9/B1932B8C-1046-4773-A1DD-4AB5C0978637/vs2013.2_ult_chs.iso
    英文版:http://download.microsoft.com/download/5/F/D/5FD90EF6-BED8-4665-9C72-16865B32F159/vs2013.2_ult_enu.iso

    VS2013 with Update 3 试用版:

    多语言版:http://download.microsoft.com/download/0/4/1/0414085C-27A6-4842-ABC5-F545950A592F/vs2013.3.iso
    中文版:http://download.microsoft.com/download/8/1/F/81FE1D40-2658-4CC5-8699-85D8377B35B9/vs2013.4_ult_chs.iso
    英文版:http://download.microsoft.com/download/1/E/0/1E0AA8D0-F5D4-45A8-9CA6-D9DC8A54DE3E/vs2013.4_ult_enu.iso

    VS2013 with Update 4 试用版:

    英文版:http://download.microsoft.com/download/1/E/0/1E0AA8D0-F5D4-45A8-9CA6-D9DC8A54DE3E/vs2013.4_ult_enu.iso
    中文版:http://download.microsoft.com/download/6/F/B/6FB78427-B4F2-4978-BC2F-143DAAF70AA7/vs2013.4_pro_chs.iso
    英文版:http://download.microsoft.com/download/F/3/C/F3C109C2-8442-477A-A442-04A175870137/vs2013.4_pro_enu.iso

    VS2015

    VS2015 专业版下载链接
    http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs2015.pro_chs.iso

    VS2015 企业版下载链
    http://download.microsoft.com/download/B/8/F/B8F1470D-2396-4E7A-83F5-AC09154EB925/vs2015.ent_chs.iso

    VS2015 社区版下载链接
    http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464C/vs2015.com_chs.iso

    VS2017

    https://download.microsoft.com/download/D/1/4/D142F7E7-4D7E-4F3B-A399-5BACA91EB569/vs_Community.exe

    VS2019

    https://visualstudio.microsoft.com/zh-hans/downloads/

    注册产品

    1、Microsoft Visual Studio 6 序列号全输入1即可;

    2、Microsoft Visual Studio 2005:进入控制面板,在“添加删除”里面选择删除"Visual Studio 2005",然后在打开的窗口中选择最后一项“添加注册码升级到正式版”,在里面输入下面的 CD-KEY 然后点升级就OK了!
    CD-KEY:KGR3T-F2C26-RRTGT-D6DQT-QBBB3

    3、Microsoft Visual Studio 2008:方法同 Visual Studio 2005,CD-KEY 为:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T

    4、Microsoft Visual Studio 2010:方法同 Visual Studio 2005,CD-KEY 为:YCFHQ-9DWCY-DKV88-T2TMH-G7BHP

    5、Microsoft Visual Studio 2012 CD-KEY 如下:
    YKCW6-BPFPF-BT8C9-7DCTH-QXGWC
    RBCXF-CVBGR-382MK-DFHJ4-C69G8
    YQ7PR-QTHDM-HCBCV-9GKGG-TB2TM

    6、Microsoft Visual Studio 2013 CD-KEY 如下:
    BWG7X-J98B3-W34RT-33B3R-JVYW9

    DirectX SDK

    https://www.microsoft.com/en-us/download/details.aspx?id=6812

    展开全文
  • VS2008个人博客系统

    万次阅读 多人点赞 2018-07-31 11:23:40
     工具:VS2008 加其自带的sql2005  因为上课是安装的这个老版本,就没换。 个人博客系统步骤: 确定个人博客的功能  首先先确定博客要有那些功能,可以去网上查询下一般博客的功能,我查询后...

    VS2008个人博客系统

    学校期间,有课程涉及过.NET这门语言,所以利用课余时间写了一个个人博客系统。由于当时还不会什么框架,所以差不多所有代码都是手敲的。在此写一下我的感受和体会。
      工具:VS2008 加其自带的sql2005
      因为上课是安装的这个老版本,就没换。

    个人博客系统步骤:
    
    1. 确定个人博客的功能
        首先先确定博客要有那些功能,可以去网上查询下一般博客的功能,我查询后确定了:首页、学无止境、个人日记、关于我、留言这五个功能。构想功能所需数据库中的表及表中的字段名。

    2. 确定页面样式
        确定系统界面的大体框架,可以借鉴其他博客网页的界面。(我没学过美工,设计的不太好看)

    3. 编写步骤
        先通过上步设计出的界面,用代码实现出一个大体框架。然后可以从一些简单的界面开始写起。先手动在数据库中添加一些信息,方便前台实现测试。最后写后台管理界面实现数据库中信息的增删改查功能。

      大体就这样吧,第一次写不知道该如何表述。

      个人博客系统的展示:
      首页:
      这里写图片描述

    这是首页,左边有个心情版、游客登录界面、jq的日历。右边会显示作者最新发布的八篇文章,可以利用DataList控件,自定义区域实现这种效果。网页中还有很多jq特效,由于是截图没法展示出来。

    浏览文章界面:
    

    这里写图片描述

    文章会有评论功能,必须游客注册登录后才可以评论。评论实现了楼中楼回复的功能,这个可以用DataList的嵌套来实现。

    留言界面:
    

    在这里插入图片描述

    游客给博主的留言界面,同样实现了楼中楼的回复功能。前台界面还有几个就不一一展示啦。

    后台管理界面:
    
    登录界面:
    

    在这里插入图片描述

    文章管理界面:
    

    在这里插入图片描述

    图中的表格可以直接使用GridView控件来实现,直接绑定数据源就可以了,很方便,还有很多界面就不一一展示啦。
    
    还有我是用三层架构的格式来写的:
    

    在这里插入图片描述

    三层架构的好处:
    1、开发人员可以只关注整个结构中的其中某一层;   
    2、可以很容易的用新的实现来替换原有层次的实现;   
    3、可以降低层与层之间的依赖;
    4、有利于标准化;   
    5、利于各层逻辑的复用。
    

    此博客只是想为一些新手提供一些设计个人博客系统的思路、步骤和启发。我也是新手,望大佬指点,希望大家都可以写出属于自己的个人博客。
      在截图中,为方便当时测试,许多博客文是直接复制的其他人的,若有影响,请及时联系我,我会及时删除。

    展开全文
  • VS2008Pro下载地址

    千次阅读 2013-07-22 09:35:59
    Hi,推荐文件给你 "VS2008ProEdition90DayTrialCHSX1435983.iso" http://vdisk.weibo.com/s/KYMX-



    Hi,推荐文件给你 "VS2008ProEdition90DayTrialCHSX1435983.iso" http://vdisk.weibo.com/s/KYMX-

    展开全文
  • 我在vs2008上面的一个项目,需要升级到vs2015上,这里面分别用到了在vs2008上面编译的动态链接库和静态链接库,现在如果我将这个项目编译为动态链接库,就会报链接错误,如果我将这个项目编译为静态链接库,则没有...
  • vs2008部署问题

    千次阅读 2011-05-27 09:23:00
    vs2008部署问题

    转自:http://tangxingqt.blog.163.com/blog/static/2771087220098214755269/

     

    参考资料

    1、VS2005解决"应用程序配置不正确,程序无法启动"问题

    2、VS2005安装文件 "由于应用程序配置不正确,应用程序未能启动"

    3、Microsoft Visual C++ 2008发布程序的部署问题

    4VC编写的程序不能在其他机器上运行的解决方案

    新增(先看看上面的4个链接之后,遇到问题之后再看下面的几个链接)

    5关于vs2008 sp1 C++生成的 manifest中运行库版本号的问题 (推荐1)

    6、在VC++2008的项目中,如何显示地指定要使用的C++库的版本? (推荐2)

    7、VC9 SP1 generates manifests with the wrong version number

    ps:有人认为这是一个bug,并汇报到ms网站上,但“推荐1”认为这不是一个bug

    8、VC Runtime Binding...(ms的官方blog对这个问题的解释)

    关于VC运行时绑定(上面链接的中文翻译)

    9、部署 (C++)推荐,比较难看懂

    关于链接9下几个比较有用的链接:

    程序集搜索顺序英文,主要讲的是CRT、MFC等的DLL和manifest文件的部署方式

    选择部署方法

    使用 Program Files/Microsoft Visual Studio 8/VC/Redist目录中提供的文件将特定 Visual C++程序集作为应用程序的私有程序集安装。允许没有管理员权限的用户安装应用程序或可以通过共享运行应用程序时,建议使用这种方法。有关示例,请参见如何:使用 XCopy进行部署。(摘自:选择部署方法

     

    总结如下:

    使用vs2008/vs2008开发的程序有2种部署方法:共享并行程序集和私有程序集部署方法

    所谓的共享并行程序集部署方法是指程序依赖的CRTMFCATLDLL和manifest文件位于目标机器上的c:/windows/winsxs目录中,发布程序的时候只需要将程序拷贝到目标机器上就可以了私有程序集部署方法指的是发布程序程序的时候,将所依赖的crt、mfc、atl的dll放在程序的当前目录下

     

    对于release版程序

    比较的简单的方法采用共享程序集的方式来部署,安装vcredist.exeMicrosoft Visual C++ 2008 SP1 Redistributable Package (x86)

    也可以采用下面debug程序的私有程序集的部署方法

     

    对于debug版本程序

    若目标机器安装了VS开发环境(vs2005 sp1/vs2008 sp1),则在机器上同时也安装了共享并行程序集,包含各个版本的dll(8.0、9.0版本,位于C:/Windows/Winsxs目录下),则不需做任何的部署,直接将需要发布的程序拷贝到目标机器上就可以了,这和release版程序的发布方式是一样的

    在没有安装VS开发环境(安装了vs2005 sp1/vs2008 sp1)的机器上,只能采用私有程序集的方式来部署(因为vcredist.exe只安装了release版的CRT、MFC、ATL的DLL和manifest文件,没有对应的debug版本)

    已知的2种方法:(针对vs2008 sp1,安装了sp1之后,在系统上会存在两个版本的CRT、MFC、ATL的DLL:9.0.21022.89.0.30729.1

    1、使当前程序的manifest文件中依赖项的版本与vc安装目录下的redist目录下的dll的版本一致,均为9.0.30729.1

    方法:

    a、在编译项目时定义一个符号_BIND_TO_CURRENT_VCLIBS_VERSION,该符号定义于C:/Program Files/Microsoft Visual Studio 9.0/VC/include/crtassem.h 文件中(假设VC安装在c盘),这样使得编译后的程序的manifest依赖于CRT 9.0.30729.1版本(同样的,对于MFC也应该定义一个类似的符号,大家可以自己在VC的include目录下搜索“9.0.30729.1”或“9.0.21022.8”,就可以找到对应的定义该符号的头文件)

    b、通过外部工具修改生成的exe或dll中manifest文件(好像windows sdk中的mt.exe可以做到,不过关于这个工具的资料十分的少)

    2、将VC安装目录下的redist目录下(C:/Program Files/Microsoft Visual Studio 9.0/VC/redist)的Microsoft.VC90.CRT拷贝到要发布的程序的当前目录下,修改Microsoft.VC90.CRT目录中的Microsoft.VC90.CRT.manifest文件中的版本号,改成9.0.21022.8,这样使得程序误以为该目录下的vc的dll版本是9.0.21022.8(实质上仍然是9.0.30729.1版本)

     

    说明:

    1、链接4 的说法是错误的,根据我自己的实验,如果采用私有程序集的部署方法,必须保证manifest文件中的版本号都是相等的,不存在要发布的程序的manifest文件中的版本号大于等于依赖项(CRT、MFC、ATL的dll)的版本号的说法

    2、采用共享并行程序集部署方式发布的程序,会自动根据所谓的“policy”(位于C:/WINDOWS/WinSxS/Policies目录下)进行跳转(由低版本号向高版本号跳转);例如程序中的manifest的版本号为9.0.21022.8而实际上程序是用vc2008 sp1编译的(版本号为9.0.30729.1,在程序实际执行的时候,会根据

    x86_policy.9.0.Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_x-ww_037be232目录下的9.0.30729.1.policy文件可以用记事本打开该文件中的内容选择9.0.30729.1版本的debugCRT

     

     

    我个人推荐的阅读顺序:① 先看前面的4个链接,大致有点印象,知道什么是manifest、如何查看manifest文件的内容(能力强的话,也可以自己编写manifest文件)、在vc中如何查看编译过程中生成的manifest文件内容、知道C:/WINDOWS/WinSxS/目录是干什么的、知道vcredist.exe这个程序; ② 再尝试着看看链接7、8、9,这些链接的文章内容十分的晦涩,有的还是英文的,需要有点耐心看; ③ 最后仔细的看看链接5、6,并多多试验(特别推荐链接5,这个链接中的内容十分的详细)

     

    参考资料: 应用程序配置不正确,程序无法启动 的解决方法资料收集

    内容我就不copy了,大家可以自己去看,总来说产生这个问题的原因可以归结如下:

    vc2005/vc2008采用了新的程序部署技术(manifest清单文件),manifest清单文件实际上类似于我们常用的makefile文件,它定义了程序运行的依赖关系(程序运行所需要的dll库的名称、版本等)。

    程序运行,首先根据manifest清单文件(这个文件可以嵌入到exe或dll中,或者单独生成外部文件,可以通过vc2005/vc2008的编译选项控制:工程“属性”->“配置属性”->“清单工具”->“输入输出”->“嵌入清单文件”,选择“是”或“否”来控制)来查找程序运行需要的dll库的名称、版本等,如果所在的系统中没有程序运行所需要的dll库和相应的manifest清单文件,则弹出“应用程序配置不正确,程序无法启动”对话框。

    另外要注意,由于vc2005/vc2008与.net集成,导致出现一个新的概念:在.net中,将exe、dll都看成“程序集(assemble)”,每个程序集(assemble)都附带有一个manifest清单文件,因此使得vc2005/vc2008的CRT(C 运行时库)、MFC、ATL等dll库都附带有一个manifest清单文件。

    归根结底是由于老版本的系统没有我们开发的程序运行所需要的基本运行时库(2k、xp系统只有vc6的一些dll库,而没有vc2005、vc2008所需要的dll库以及相应的manifest清单文件,而在vista系统或者即将到来的windows 7系统上则包含有vc2005、vc2008的dll库和manifest清单文件)

    ps:上面的那段话说的有点幼稚和简单了,这里涉及到很多的问题:程序的升级更新、vs的补丁、库的版本问题等等,不是简单的拷贝、粘贴就能解决的。。。

     

    举个例子:(在XP SP3系统下)

    使用vc2008 express sp1版(没有mfc、atl),新建一个“HelloWorld”的“win32控制台应用程序”工程,在release下编译,此时默认的编译选项:(在这里我们只关注与我们的问题相关的几个选项)

    1、工程“属性”->“配置属性”->“c/c++”->“代码生成”->“运行库”

    默认选项为/MD(release)、/MDd(debug),对这几个编译选项不清楚的可以参见: VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

    2、工程“属性”->“配置属性”->“清单工具”->“输入输出”->“嵌入清单文件”

    默认选项为“是”(表示将manifest清单文件嵌入到程序中);当然,我们也可以选择“否”,从而单独生成一个manifest清单文件,不过这会增加不必要的依赖项,因此不建议选择“否”。

    编译->链接之后在“ HelloWorld ”工程的release或debug目录下,我们能够看到一个HelloWorld.exe.intermediate.manifest清单文件(根据编译选项,见上,vc2008将manifest清单文件嵌入到了exe程序中,HelloWorld.exe.intermediate.manifest清单文件是一个临时文件,但它的内容与嵌入到exe程序的manifest文件是一样的),用文本编辑器打开该文件(用“记事本”也行,不过格式太乱,看不清楚内容,推荐使用vim或其它的文本编辑器查看),大致内容如下:

    ps:在网上看到另外的一个方法,用记事本打开exe或dll程序,查看嵌入到exe或dll中的manifest清单文件,方法:“打开记事本,然后将exe或dll拖入到记事本中,当然了,肯定会出现大段的乱码,没关系,直接往后看,就能发现类似于下面的内容的部分”

    XML语言: HelloWorld.exe.intermediate.manifest

    01 <?xml version='1.0' encoding='UTF-8' standalone='yes'?>

    02 <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>

    03 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">

    04      <security>

    05        <requestedPrivileges>

    06          <requestedExecutionLevel level='asInvoker' uiAccess='false' />

    07        </requestedPrivileges>

    08      </security>

    09 </trustInfo>

    10 <dependency>

    11      <dependentAssembly>

    12        <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />

    13      </dependentAssembly>

    14 </dependency>

    15 </assembly>

    我们重点查看红色部分,这说明编译后的exe程序依赖于vc90(也即vc2008)的CRT(C运行时库),版本9.0.210022.8(这是由于使用/MD选项,程序动态的依赖于CRT,如果使用/MT选项,则会将CRT静态链接到程序中,当然,这会使程序的尺寸急剧的增长,大概有10倍的大小差距)

    当exe程序执行时,它会根据嵌入的manifest文件查找相应的依赖项,在这个HelloWorld.exe程序中,它依赖于vc90 CRT,因此它会在“C:/WINDOWS/WinSxS”和“当前目录”下查找相应的dll库以及manifest文件,(这里指的是xp系统,不考虑vista系统,具体的参见:程序集搜索顺序)

    在我的机器上有2个版本的vc90 CRT(由于安装了vc2008 express sp1)

    vc90 CRT的dll库位于(9.0.21022.8版本)“C:/WINDOWS/WinSxS/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375”

    相应的manifest文件则位于“C:/WINDOWS/WinSxS/Manifests/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375.manifest”

    vc90 CRT的dll库位于(9.0.30729版本)“C:/WINDOWS/WinSxS/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e”

    相应的manifest文件则位于“C:/WINDOWS/WinSxS/Manifests/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e.manifest”

    在这里我们就有一个疑问了,我们的开发环境是vc2008 express sp1,那么我们的程序链接的CRT版本应该是9.0.30729版本的啊?(这个不是我瞎说的,大家可以用dependency walker来查看程序实际链接的DLL版本),为什么在manifest文件中依赖的CRT却是9.0.21022.8版本的?这里就涉及到一个新的名词“policy ",操作系统会根据C:/WINDOWS/WinSxS/Policies/x86_policy.9.0.Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_x-ww_b7353f75/9.0.30729.1.policy文件的内容,进行dll版本的跳转(重点看深蓝斜体字部分)从而选择了9.0.30729版本的vc90 CRT (这个所谓的“policy跳转”是道听途说来的,具体的英文资料藏在microsoft的什么地方我就不得而知了。里面夹带了一些我自己的主观猜测,不然的话,没有办法解释manifest版本号9.0.21022.8是,而实际链接的dll的版本号却是9.0.30729)

    XML语言: 9.0.30729.1.policy

    01 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

    02 <!-- Copyright (c) Microsoft Corporation. All rights reserved. -->

    03 <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

    04     <assemblyIdentity type="win32-policy" name="policy.9.0.Microsoft.VC90.CRT" version="9.0.30729.1" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>

    05     <dependency>

    06         <dependentAssembly>

    07             <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>

    08             <bindingRedirect oldVersion="9.0.20718.0-9.0.21022.8" newVersion="9.0.30729.1"/>

    09             <bindingRedirect oldVersion="9.0.30201.0-9.0.30729.1" newVersion="9.0.30729.1"/>

    10         </dependentAssembly>

    11     </dependency>

    12 </assembly>

     

    如果我们将这个HelloWorld.exe拷贝到其它的机器上(没有安装vc2008 sp1或Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)),则程序因为没能找到vc90 CRT,而不能运行,弹出“应用程序配置不正确,程序无法启动”对话框。

    根据参考资料的文章中的内容,对于release版程序,有一个简单的办法就是安装“vcredist_x86.exe”,文件大小4M左右,自动安装在“C:/WINDOWS/WinSxS”目录下,包含了CRT、MFC、ATL等库的dll和manifest清单文件;整个安装时间不到1分钟。

    如果机器上安装了vc2005/vc2008,则会自动的安装vcredist_x86.exe程序,安装后在“控制面板”->“添加删除程序”中有一项“Microsoft Visual c++ 2008 Redistributable - x86 9.0.3.729”(我安装的是Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) 版本)

    注意:要根据编译器版本以及vc2005/vc2008是否安装了sp1补丁进行选择对应的vcredist.exe版本

     

     

    上述的解决办法我称之为共享程序集部署方法,同样的我们也可以采用私有程序集的部署方式来发布程序

    Helloworld例子的私有程序集的部署方法:(针对release版本,仍然是采用上面的例子

    ,采用参考资料中提到的第2中私有程序集部署方法:将Microsoft.VC90.CRT目录下的manifest文件的版本号修改为9.0.21022.8

    1、将编译后的程序拷贝到一个目录下,假定为d:/helloworld

    2、将vc安装目录下的redist/x86目录下的Microsoft.VC90.CRT目录拷贝到d:/helloworld(假定vs安装在C:/Program Files/Microsoft Visual Studio 9.0,则vc安装目录为C:/Program Files/Microsoft Visual Studio 9.0/VC)

    3、将Microsoft.VC90.CRT目录下的manifest文件的版本号修改为9.0.21022.8用记事本打开修改

    最终发布程序的目录结构

    D:/helloworld

          |--helloworld.exe

          |--Microsoft.VC90.CRT

                         |--Microsoft.VC90.CRT.manifest

                        |--msvcm90.dll

                         |--msvcp90.dll

                        |--msvcr90.dll

    这个时候,程序的manifest文件(已经内嵌到exe中了)依赖的vc90 CRT的版本号和Microsoft.VC90.CRT.manifest文件的版本号对应一致,都是9.0.21022.8但是要注意的是,我们的helloworld程序实际上依赖的vc90 CRT版本是9.0.30729版本这里只是采用了一种欺骗的方法,因为我们编译时链接的CRT的版本是9.0.30729版本)

    展开全文
  • 如何卸载VS2008

    千次阅读 2010-06-13 22:51:00
    如何卸载VS2008
  • vs2008 字体设置

    千次阅读 2013-12-20 14:50:53
    1、打开工具-选项-环境-字体和颜色,将“字体”设置成“Consolas”比较好看,将“项目背景”设置成自定义, 将“色调”的参数设置为85,把“饱和度”的参数设置为90,把“亮度”的参数设置为205即可。
  • VS2010项目转化为VS2008项目

    万次阅读 2011-09-25 15:24:40
    第一步: 打开VS2010项目的SLN文件有如下代码: Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 将之改为: Microsoft Visual St
  • 由于公司业务需求,加上vs2008出现新的技术 LINQ 多了ListView 和 DataPager 控件。安装使用 Silverlight 技术 比 vs2005方便,所以公司下午改装vs2008, 于是下载了vs2008简体中文版获得正版的两个方法方法一:全称...
  • If you are working with VS 2010 (any Edition) and cannot open your 2010 solution on VS 2008 then just follow these 3 Steps:For .sln:1. Open the solution file in your favorite text editor (ex: notepad+...
  • 今天设置了下VS2008的字体颜色,哇,帅死了,别人都时白板黑子,你的却别具一格 <!--google_ad_client = "pub-4382955739270299";/* 468x15, 创建于 08-9-5 */google_ad_slot = "2818501739";google_ad_width = 468...
  • vs2008中英文版下载-VS2008注册码序列号--vs2008破解方法 一、Visual Studio 2008 Team...1. VS2008英文版 3.83GB ISO文件 http://download.microsoft.com/download/d/8/9/d89c9839-ac45-4a6c-b25f-2f60b190e356/VS20
  • 利用MFC的Picture控件显示和处理图像,后面又添加了播放视频和捕获摄像头画面的功能,其中播放视频的功能只有 'Play' 和 'Stop',不能实现暂停
  • 卸载VS2008,后重新安装VS2008

    千次阅读 2010-05-17 17:15:00
    本来想要调整磁盘分区,所以用了 PowerQuest... 系统是正常了,但是之后VS2008就无法启动了。所以打开Visual Studio2008的安装程序,想要修复一下,但是在扫描已安装模块的过程中就出错了,所以无法修复,也无法通过该
  • 本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/52397489EasyDarwin各开源项目目前只提供Visual Studio 2008的解决方案文件,我们使用Visual Studio 版本互转工具给用户...
  • VS2008里面新建了一个项目Test,自己写了一个头文件sum.h,内容如下: ```cpp #ifndef SUM_H #define SUM_H int sum(int a,int b); #endif ``` 实现函数sum.cpp,代码如下: ```cpp #include "sum.h" int...
  • 最近想用VS2008的vb模块做catia的二次开发,但发现程序始终出现诸如“ 未定义类型“Parameter””,“未定义类型“Product””等错误。另外还有3个类似的警告,比如:“警告 2 Could not determine the dependencies...
  • VS 2008 Express

    2015-03-20 23:32:34
    偶尔也需要在vs上工作,2008是我比较喜欢的。...http://download.microsoft.com/download/8/B/5/8B5804AD-4990-40D0-A6AA-CE894CBBB3DC/VS2008ExpressENUX1397868.iso VS 2008 Express SP1 http://down
  • VS2005转VS2008

    千次阅读 2008-09-07 14:57:00
    VS2008会自动帮你完成从VS2005转化的工作,转换后直接在新平台上开发基本没有问题,但发布的时候需要注意了:1)发布前在[系统必备]中,要将原先VS2005的组件全部改换为VS2008的相应组件,如CRRedist2005_x86.msi改...
  • vs2008中 CFileDialog 类

    2015-08-03 03:28:41
    vs2008中 CFileDialog 类 弹不出对话框 CFileDialog pCFileDialog(FALSE,".xml") pCFileDialog.m_ofn.lpstrTitle = "保存"; pCFileDialog.m_ofn.lpstrFilter = "Text File(*.xml)"; if(pCFileDialog.DoModal...
  • vs2008打开vs2010

    千次阅读 2010-11-28 10:36:00
    公司大部分人还在使用VS2008做2.0的项目,想使用VS2010尝尝鲜,但是也用不到4.0的库,想着以后用VS2010做了改动,VS2010仍然可以用,就研究查看了一下.SLN文件,发现VS2008的SLN文件的开头会有如下代码:view source...
  • 编写VS2008宏代码

    千次阅读 2011-12-13 17:43:13
    下面以一个简单例子说明如何编写宏代码。 1. 建立宏工程。选择“Tool”菜单栏下Macros菜单下的New Macro Project.2. 输入工程名:CloseIntelliSense(关闭智能感知)3. 双击Module1节点,如下:4....
  • VS2008 水晶报表部署

    千次阅读 2016-06-25 08:58:33
    打开VS安装目录 X:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5 安装“CRRedist2008_x86.msi”和语言包程序h-CHS下的“CRRedist2008_x86_chs.msi” 然后部署你的...
  • VS2005 VS2008 VS2010 优缺点

    千次阅读 2014-08-11 14:27:31
    VS2003运行在.net 1.1之上,VS2005 运行在.net 2.0之上,VS2008运行在.net 2.0/3.5之上,VS2010运行在.net 2.0/3.5/4.0之上。  另外,据说微软团队 VS2010是用WPF开发的,而VS2005,VS2008是C++开发的。  越高的...

空空如也

1 2 3 4 5 ... 20
收藏数 41,241
精华内容 16,496
关键字:

vs2008