VS2010中 生成、生成解决方案、开始执行(不调试),这三个是啥意思,三者之间有啥联系?(C#语言)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2010中 生成、生成解决方案、开始执行(不调试),这三个是啥意思,三者之间有啥联系?(C#语言)相关的知识,希望对你有一定的参考价值。

生成,就是将项目文件编译成可执行文件等运行时必须的文件。生成解决方案,就是将该解决方案里所有项目进行编译,生成文件,与生成的功能类似。开始执行(不调试)就是在不调试的情况下执行,就像执行可执行文件而不进行断点调试一样。

指令周期:取指令和执行指令所花费的时间。

机器周期:也称为CPU周期,CPU访问内存的时间很长,所以定义为从内存中读取指令字的最小时间。

时钟周期:通常称为节拍脉冲或T周期。处理操作的最基本单位,CPU主频。

三者之间的关系:指令周期通常用机器周期数表示,而机器周期数包含有时钟周期数。

扩展资料:

Web项目:单击开始调试,可以在程序执行、中断点、跟踪程序执行、方便出错。

Web项目:单击开始执行(不调试)。在程序运行期间,中断点是不允许的。优点:网站上线后,如果修改CS代码,只需右键单击对应的项目,点击重建(或直接生成)项目,然后直接刷新浏览器页面。原因:IIS服务已经启动

结论:调试常用于方便出错,执行非调试便于测试、验证。

开始执行(不调试):直接执行,只得到最终结果。

两种方法的区别在于,前者需要加载调试符号,允许在运行过程中中断,并且可以在一个步骤中执行,还可以监视某些变量,甚至更改其代码并重新计算;后者只编译和运行,不调试程序,只适合在需要查看它如何工作时使用。

参考技术A

VS2010中:

【生成】通常针对单个项目,该命令将C#项目源代码编译为一个 dll 或 exe 。

【生成解决方案】针对所有项目,该命令将所有解决方案下的C#项目源代码都编译为它们各自目录下的 dll 或 exe 。

【开始执行(不调试)】将会直接启动当前已经生成完毕的可执行文件,如果没有生成,则先进行生成再执行,同时不会加载调试模块。

如何修改vs2012的解决方案文件

参考技术A 今天要用VS2010打开VS2013,一直觉得VS2010到VS2012只是界面上扁平化的改变,平台工具集有改变但很大程度上可能向上兼容。在网上搜了一些文章,其中有一篇说到一个观点:
从VS2010开始,VS使用统一的.sln作为解决方案文件,到目前为止,每个版本的升级只是平台工具集的升级和优化,而解决方案是完全兼容的。你可以用VS2013打开VS2010生成的解决方案,也可以用VS2010打开更高版本的VS2013生成解决方案
我的理解是,从VS2010开始,不再制作专有的文件格式,这只是一个xml格式的文本文件,其中决定了解决方案的平台工具集和VS版本。既然.sln只是个文本文件,重新设定其中指定的VS版本和平台工具集,也许可以用低版本打开高版本的解决方案。

那么就来尝试用vs2010来打开vs2013,以下是我的尝试记录,尝试中发现除了修改.sln后可以用vs2010打开vs2013,但还要修改项目的平台工具集以保证最好的兼容。
(1)直接打开

用VS2010打开VS2013生成的文件,产生如上提示。

选取一个vs2013的解决方案文件.sln,以文本文档方式打开它。(我用的是sublime text 2,我认为是款代替记事本的不错工具,性感而小巧。有人从Notapad+转为用它,自有其价值吧。)

在文件开头我们可以看到一些关键信息:
Format Version 12.00
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1

表明该.sln生成的格式版本是12.00(vs2013),vs版本是12.0.21005.1(vs2013),最小兼容版本是10.0.40219.1(vs2010)。
那也许把该解决方案改成10.0.40219.1以上都行吧?
【版本区别】
像我这样的新手请注意这里,Version 12.00意味着版本为vs2013而非vs2012,本文末最后已总结了vs版本中的该现象。下一步中改Format Version 为11.00而非10.00

(2)修改.sln文件。

(3)重新打开
用VS2010打开修改后的解决方案文件,成功打开。

(4)编译
我想起vs2012和vs2010的平台工具集不一致,vs2012是v110,vs2010是v100,vs2013则是v120。我想先不去项目文件里查看,也许在加载解决方案的时候vs已经重置了平台工具集?于是尝试①直接编译。

编译失败,因为结果平台工具集未重置,本机上没有vs2013,找不到v120的平台工具集。同时,注意到,有“项目文件包含ToolsVersion="12.0" 设置……将项目视为具有ToolsVersion="4.0" 设置”。这似乎是.Net的工具版本号,不修改的话会自动兼容。
②手动修改之平台工具集版本,编译看能否运行。

改为

③编译通过,运行成功。同时,ToolsVersion的版本号是被视为4.0了。

④去查找对应ToolsVersion的项目文件,修改之。

改为

重新编译,未报错。

⑤综合以上,该该项目已经实现从VS2013到VS2010的迁移。

【总结】
低版本VS打开高版本一般要修改的地方。
1、.sln文件中指定的VS版本号和平台工具集
2、修改项目文件中的平台工具集(v4.0→v12.0)
3、其它。
上述“其它”,主要指在配置中与环境变量有关的因版本改变而导致的路径改变,比如vs2010中的部分lib在 VS 安装目录下的 Microsoft SDKs\v7.x 中,在vs2012以后转移到了 VS 安装目录下的Windows Kits中VS 安装目录。注意区别。

转载,仅供参考,祝你愉快,满意请采纳。

以上是关于VS2010中 生成、生成解决方案、开始执行(不调试),这三个是啥意思,三者之间有啥联系?(C#语言)的主要内容,如果未能解决你的问题,请参考以下文章

vs2010由于缺少调试目标“无法开始调试,请生成项目并重试 怎么解决?

vs2010怎么生成exe文件

如何修改vs2012的解决方案文件

vs2010下C# WinForm 解决方案里面生成的文件都是啥作用?干啥的?

求几个vs2010快捷键

VS2010 c++编译的时候总是出现找不到exe文件、这是个啥情况