在Visual Studio Express 2010
中,我通常只能构建一个程序,然后进行任何更改,我必须将我的代码粘贴到一个新项目中。它会说构建成功,但后来我尝试运行它并收到一条错误消息,
“这个项目已经过时了 - 你想建立它吗?”
然后我单击是,我收到另一条错误消息,指出存在构建错误,我必须从上次成功构建继续。 有时而不是运行上一次成功的构建,我收到一条错误消息,
“无法打开[目录编程]。系统找不到 文件指定。“
出于这个原因,我通常会使用Visual Express 2012
,但即便如此,它也时不时地发生,似乎是随机的。一旦问题开始,没有明显的方法来解决它(重建和重新启动Visual Studio都有相同的结果)。在Visual Studio Pro 2012
中,这似乎也发生了。
编辑:这是在我面前的一个输出框(2010年版)
1>------ Build started: Project: Lab01, Configuration: Debug Win32 ------
1> Lab01.cpp
1>c:\program files (x86)\reference assemblies\microsoft\framework\.netframework\v4.0\system.core.dll : warning C4945: 'ExtensionAttribute' : cannot import symbol from 'c:\program files (x86)\reference assemblies\microsoft\framework\.netframework\v4.0\system.core.dll': as 'System::Runtime::CompilerServices::ExtensionAttribute' has already been imported from another assembly 'mscorlib'
1> c:\windows\microsoft.net\framework\v4.0.30319\mscorlib.dll : see declaration of 'System::Runtime::CompilerServices::ExtensionAttribute'
1> first seen type is used; re-order imported assemblies to use the current type
1> This diagnostic occurred while importing type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
1>Lab01.cpp(28): error C2664: 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::get(_Elem &)' : cannot convert parameter 1 from 'char [101]' to 'char &'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我猜它在那里说错误,但它告诉我“构建成功”由于某种原因......
答案 0 :(得分:2)
以下是查找和分析Visual Studio报告的错误的方法:
continue from the last successful build
- 点击否(几乎总是)。错误应显示在View->Error List
中。如果感到困惑,请在构建后检查View->Output
窗口,这是很多相同的信息,但更详细。
rebuilding ... same result
- 完全重建应该提供除project is out of date
之外的其他错误。
Lab01.cpp(28): error C2664:
- Lab01.cpp的28行和3行上下都会有所帮助。
看起来你正在用std :: streams做一些不正确的事情,但我不知道什么没看到代码。 这应该在错误列表中
warning C4945:
- 之所以发生这种情况,是因为您在单个项目中使用.net 4.0和4.5以及(可能)混合使用clr和非clr代码。从新的CLR项目重新创建,该项目在任何地方都选择了正确的.Net库版本,可能会删除此警告。 (ExtensionAttribute
在4.0到4.5升级期间被移动了)
这只是一个警告,所以无所谓。