解决 “错误3 :error MSB4036: 未找“SetEnvironmentVariable”任务。” 类似错误的一个办法

今日同事在自己的电脑上遇到一个古怪的问题,是关于Visual Studio 2013的一个问题

基本情况:

系统:Windows 7 旗舰版(中文)

开发工具:Visual Studio 2010(英文),去年安装的,一直运行良好,安装目录C:

                    Visual Studio 2013(中文),今天刚安装,安装目录D:


      由于同事很想体验一下全新的Visual Studio 2013,但是又不想卸载原来的稳定可靠的Visual Studio 2010,于是就多装一个新的Visual Studio 2013,,两个Visual Studio共处。安装完了Visual Studio 2013后,开始测试程序(C++项目),结果在Visual Studio 2010跑的好好的项目,到了这个IDE就水土不服,编译时报错,如下:

错误1 error : 此编译的源文件可以在以下位置找到:“C:\Users\Merrya\AppData\Local\Temp\77717d73-33e2-455c-9afa-d9d8e10a4ec8.txt“

错误 2error MSB3758: 编译时出错。error CS0016: 未能写入输出文件“c:\Users\Merrya\AppData\Local\Temp\bvnoj1ko.dll”--“Could not execute CVTRES.EXE.”

错误3 :error MSB4036: 未找“SetEnvironmentVariable”任务。请检查下列各项:  1.) 项目文件中的任务名称与任务类的名称相同。2.) 任务类为“public”且实现Microsoft.Build.Framework.ITask 接口。3.) 在项目文件中或位于“C:\Program Files (x86)\MSBuild\12.0\bin”目录的 *.tasks 文件中使用  正确声明了该任务。


英文的错误内容应该是这样的:

Error	1	error : The source file for this compilation can be found at: "C:\Users\XUbik_000\AppData\Local\Temp\585a4fa8-6d8d-401f-b7f8-de278e72d7c3.txt"	C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\CodeAnalysis\Microsoft.CodeAnalysis.targets	214	5	Liver2

Error	2	error MSB3758: An error has occurred during compilation. error CS0008: Unexpected error reading metadata from file 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll' -- 'Index not found.'	C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\CodeAnalysis\Microsoft.CodeAnalysis.targets	214	5	Liver2

Error	3	error MSB4036: The "SetEnvironmentVariable" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" a

      对于上面的中英文错误,大家忽略啊,哈哈。这个问题对我来说还真是第一次。好吧遇见错误了,我最开心了。那就弄个最小最简单的HelloWorld来测试是不是也会报错。还真的也如上的错误,注意也是C++的控制台程序。


       而这时Visual Studio 2010是调试运行程序完全没问题。那么问题是不是这两个IDE不能同时开呢,那好吧。那我就单独开Visual Studio 2013,再跑一遍HelloWorld,依然报错。妈的,怒了。问Google(为啥不先问百度,我只能是我爱江山更爱美人)。于是直接Google:error MSB4036:   “SetEnvironmentVariable”   Visual studio 2013。为啥这样的关键字呢,因为你直接复制上面的错误内容,你是查不到滴,嘿嘿!Google搜索技巧,Nice。

我擦还真有好多人遇到这个问题,而且都还作为Bug提给了微软VC++团队了。

传送门https://connect.microsoft.com/VisualStudio/feedback/details/808474/visual-studio-2013-c-project-compile-error

看来VC++团队的人也很困惑吧,好吧,继续找,没线索,头疼!!!!!


       于是我就再去检查一下他的IDE环境,跟官网提供的是否有差别,官网对VS2013的介绍:http://www.visualstudio.com/downloads/download-visual-studio-vs,突然发觉我同事的好像少了什么组件的。发觉少了.Net Framework  4.5.1。有趣,少了这个,会不会跟这个有关系呢?那好吧我就告诉同事,说你安装这个吧,保证你一切OK。说完我就去打水喝(因为我也没底啊,不喝水压压惊,后面要是事情不对了,我也可以说我要上个厕所,然后挨到下班,立马闪人,然后给我一个月时间,我来帮你解决)。轻松的等待结束了,中间我还买了一张过完年返程的火车票。然后同时兴奋的告诉我没问题了,一切都跑通了。。


总结:

遇到这样的问题检查必要组件,此次问题的解决办法就是通过安装最新的.Net Framework  4.5.1,从而解决的。








你可能感兴趣的:(C/C++)