0

В Visual Studio Express 2010, я могу как правило только создавать программу один раз, а затем вносить какие-либо изменения, я должен вставить свой код в новый проект. Он скажет, что сборка была успешной, но затем я попытаюсь запустить ее и получить сообщение об ошибке:Почему MS Visual Studio не может распознать ошибки сборки?

«Этот проект устарел - вы хотели бы его построить?»

и я нажимаю «да», и появляется еще одно сообщение об ошибке, указывающее на наличие ошибок сборки, и я должен продолжить работу с последней успешной сборки. Иногда вместо запуска последней успешной сборки я получаю сообщение об ошибке, говорящее,

«Невозможно открыть [каталог в программу]. Система не может найти указанный файл .»

По этой причине я обычно использую Visual Express 2012, но даже тогда это случается время от времени, казалось бы, случайным образом. Как только проблема начинается, нет очевидного способа ее исправить (восстановление и перезапуск Visual Studio имеют одинаковый результат). В Visual Studio Pro 2012 это также происходит.

EDIT: Это в выходном ящике одного передо мной (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

Две вещи, которые пришли мне на ум: 1 - У вас есть права на запись для проекта и каталогов, которые вы пытаетесь использовать? 2 - Используете ли вы CMake для создания проекта в VS? –

+0

В чем вопрос? – egur

+1

'продолжать с последней успешной сборки' - И ошибки отображаются в' View-> Error List'? (Или они этого не делают?) Кроме того, я предполагаю, что вы нажимаете «строить» перед «запуском» и проверяете «Список ошибок» перед тем, как запустить прогон?«Перестройка» должна дать некоторую другую ошибку, чем «проект устарел». Также проверьте окно «Выход» после сборки, это более подробно. –

ответ

2

Вот как найти и проанализировать ошибки, сообщенные Visual Studio:

continue from the last successful build - Нажмите NO (почти всегда). Ошибки должны отображаться в View->Error List. Когда вы сбиты с толку, всегда проверяйте окно View->Output после сборки, это очень много информации, но более подробно.

rebuilding ... same result - Полная перестройка должна дать некоторую другую ошибку, чем project is out of date.

Lab01.cpp(28): error C2664: - Строка 28 и 3 строки вверх и вниз по Lab01.cpp были бы полезны.

Похоже, что вы что-то делаете с std :: streams, что неверно, но я не знаю, что, не видя кода. Это должно быть в списке ошибок

warning C4945: - Это происходит потому, что вы используете сочетание .net 4.0 и 4.5 и (возможно) смесь CLR и не CLR кода в рамках одного проекта. Воссоздание нового проекта CLR, который выбрал правильную версию .Net-библиотеки, может удалить это предупреждение. (ExtensionAttribute был перемещен во время обновления 4.0 до 4.5)

Это просто предупреждение, так что не имеет значения.

Смежные вопросы