Visual Studio 2015 프로젝트 빌드가 실패했지만 오류 없음


110

내 프로젝트 빌드가 모두 실패하지만 오류가 표시되지 않습니다. 나는 청소와 재건을 시도했지만 작동하지 않았습니다.

문제를 식별하는 데 도움이되기를 바라며 MSBuild 출력 상세도를 '진단'으로 변경했는데 이제 막혔습니다. 출력은 다음과 같습니다.

1>Project 'ProjectMM.Data.Models' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\ProjectMM.Data.Models.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\bin\Debug\ProjectMM.Data.Models.pdb'.
All packages are already installed and there is nothing to restore.
1>------ Build started: Project: ProjectMM.Data.Models, Configuration: Debug Any CPU ------
2>Project 'ProjectMM.Data' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data\ProjectMM.Data.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data\bin\Debug\ProjectMM.Data.pdb'.
2>------ Build started: Project: ProjectMM.Data, Configuration: Debug Any CPU ------
3>Project 'ProjectMM' is not up to date. Input file 'c:\projects\projectmm\projectmm\app_start\bundleconfig.cs' is modified after output file 'C:\Projects\ProjectMM\ProjectMM\bin\ProjectMM.pdb'.
3>------ Build started: Project: ProjectMM, Configuration: Debug Any CPU ------
========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========

1
오류 목록 창이 표시됩니까?
Karthik

보기 메뉴-> 오류 목록 선택으로 이동하여 오류가 있는지 확인하십시오. 이상적으로는 오류 목록에 있어야합니다. 개방에 오류 목록 창을 유지하고 프로젝트를 빌드 시도하고 어떻게되는지 ..
KARTHIK

4
그래서 방금 일어난 일은 다음과 같습니다. 저는이 질문을 게시하고 즉시 응답을받지 못할 것이라고 가정하고 프로젝트를 종료했습니다. 백업을 열고 오류 목록을 열고 다시 작성하라는 메시지가 표시되었습니다. 완벽하게 작동하고 오류없이 모두 성공했습니다!
Rob Greenlee

@RobGreenlee : 내 대답을 참조하십시오. 솔루션을 다시 열었을 때 "오류 탭"이 활성화되었을 것입니다!
jpo38

답변:


101

나는 같은 문제가 있었고 Visual Studio를 닫았다가 다시 열면 문제가 해결됩니다.

나는 또한 솔루션 청소와 청소 실패도 시도했습니다.

이것이 트릭을 수행하지 않는 다른 시나리오가있을 수 있지만 제 경우에는 다시 시작 하여이 문제를 해결했습니다.


22
다시 시작하는 데 도움이되지 않는 경우. 다른 프레임 워크 프로젝트를 참조하는 다른 Target 프레임 워크와 함께 내 솔루션에 프로젝트를 추가 할 때 종종이 문제가 발생합니다.
Bastiaan Linders 2015

7
제 경우에는 VS를 다시 시작하거나 솔루션을 청소해도 도움이되지 않았습니다. 그러나 문제 해결 폴더 .vs 아래 .suo을 제거
cellik

@cellik : 제 경우에는 작동하지 않습니다. 가치가있는 것 .. 저는 Enterprise 에디션을 사용하고 있습니다.
KMC

4
내 컴퓨터 시간을 CEST 시간대 (GMT + 1)에서 미국 시간대 (GMT-7)로 변경 한 후에도 동일한 문제가 발생했는데 마지막 빌드의 타임 스탬프가 미래라는 것을 처리 할 수없는 것 같습니다. VS를 다시 시작하면 모든 것이 정상입니다.
martinh_kentico

2
.suo 파일을 삭제하면 나에게도 트릭이 있었지만 다시 시작하고 정리하지 못했습니다.
Johann Marx

117

모든 빌드 오류가 표시되지 않을 수 있습니다.

"메시지"아이콘 뒤의 드롭 다운 목록을 "Build + Intellisense"에서 "Build Only"로 변경하면 Intellisense에서 감지하지 못한 빌드 중에 발생한 오류를 볼 수 있습니다. 아래 스크린 샷을 참조하십시오.

짓다


3
야 너는 내 구세주 야!
KMC

19
"Build + Intellisense"에 "Build Only"오류가 표시되지 않는 이유는 무엇입니까?
CodyF

이는 오류 목록에 오류를 표시하는 데 도움이되었지만 오류가있는 코드 줄에는 빨간색 밑줄이 없습니다. 나는 이것이 Intellisense 문제라고 생각합니다.
Drew

나를 위해 작동합니다. Mine은 Build 및 Intellisense로 전환하여 빌드 오류를 숨겼습니다. 빌드 만 작동하고 빌드 오류를 표시합니다.
HerrimanCoder

1
당신은 선생님이 .. 큰 일이 .. 감사합니다 나를 위해 일을 저장 많은
MA9H

32

"빌드 실패"를보고하지만 오류 창에 오류가 표시되지 않는 VS2015의 일반 인스턴스를 보았습니다. 오래된 명령 줄 배경에서 왔기 때문에 마침내 출력 창을 살펴 보았습니다. 출력 창에는 오류를보고하는 컴파일러가 표시되었지만 해당 오류는 오류 창에 캡처되지 않았습니다. VS2013에서이 문제를 본 적이 없습니다.

일반적인 VS 폐쇄 및 재개는이 조건을 해결하지 못했습니다. (VS2013에서 이것은 후면에서 XAML 인텔리 센스를 시작하고 수정 된 "오류"에 대한 수정을 중지하는 일반적인 방법이었습니다.)

지금까지 이것은 항상 XAML 페이지 CS 파일의 컴파일 오류와 관련이있었습니다. 페이지가 아닌 CS 파일에서 본 것을 기억할 수 없습니다.

출력 창을 확인하기 전까지는 오류 창에서 인텔리 센스보고와 같은 것은 XAML의 개체에 대한 잘못된 참조를보고하지만 오류 창에 표시되는 컴파일러 오류는 오류처럼 "나타나기"때문에 매우 혼란 스러울 수 있습니다. intellisense보고 XAML 오류. 그러나 실제로는 그렇지 않습니다. XAML 오류는 CS 파일이 컴파일에 실패했지만 오류 창에 오류가보고되지 않는 증상 일뿐입니다.


20
보이지 않는 오류 창으로 여전히 어려움을 겪고있는 분들은 오류 목록 창의 Filter ErrorList To 드롭 다운에서 Build Only 를 선택하여 창에 컴파일러 오류가 표시되도록 할 수 있습니다 (드롭 다운에는 레이블이 지정되지 않았습니다 ... 마우스를 그 위에 올려 놓고 툴팁을 보면 어떤 것인지 알 수 있습니다.
Robert Harvey

2
@RobertHarvey ...이게 핵심입니다 ...하지만 왜 Intellisense가 빌드를 무시할까요?
felickz

@RobertHarvey 정확히 그랬습니다. 여기에있는 누군가가 내가 호환되지 않는 .net 프로젝트를 참조한다고 제안했지만 오류 창에서 출력을 "빌드 전용"으로 전환 할 때까지 문제가 무엇인지 알 수 없었습니다. 내가 그 일을하자마자 문제를 바로 지적했습니다. 팁 주셔서 감사합니다.
David Gunderson

이 대답은 저에게 단서였습니다. 가능한 블로킹 빌드 예외에 대해 "오류 CS"(따옴표 없음)를 검색하십시오.
granadaCoder

추신. 내 오류는 내 방법에서 동일한 변수 이름을 사용했다는 것입니다. "문자열 x = string.Empty;" 예를 들면. "문자열 x"선언도있는 예외 처리기가있었습니다.
granadaCoder

11

숨겨진 .vs폴더를 삭제하면 VS2015에서 저에게 효과적이었습니다.

(현재 SUO 파일이있는 곳입니다.)


9

다른 .net 프레임 워크 버전 프로젝트 (제 경우에는 v4.5.2 대 v4.5)를 참조 할 때 이런 일이 발생할 수 있습니다. 이를 수정하면 문제가 해결됩니다.


이것은 정확히 내 문제였습니다. v4.5.2 솔루션에 새 프로젝트를 추가했으며 v4.5 인 다른 프로젝트에서 참조했습니다. 새 프로젝트를 v4.5로 전환했는데 제대로 작동했습니다.
Drew

7

나에게 일어난 일은 컴퓨터의 시간대를 +5 : 30으로 변경 한 다음 다시 -5 : 00로 변경하는 것이 VS를 혼란스럽게 만드는 것입니다. VS를 다시 시작했을 때 다시 정상적으로 작동했습니다.


실마리 없음. 버전 제어를 사용하므로 시대와 혼동 될 수 있습니다. ???
MB

6

모든 프로젝트 프레임 워크 버전을 확인하고 모두 동일하거나 최소한 프로젝트 B의 .NET Framework 버전이 더 높은 경우 프로젝트 A가 프로젝트 B를 참조하지 않는지 확인합니다.


6

VS2015 업데이트 3 RC 및 Xamarin (.Forms 공유 프로젝트)에서이 문제가 발생했습니다.
컴파일러는 멈추지 않고 오류는 출력 창에만 표시되었습니다.
이것은 Xamarin 프로젝트에만 해당됩니다 (VB.NET 프로젝트가 모두 예상대로 작동 함) ...
문제의 원인을 찾으려면 VS에서 빌드 출력을 변경했습니다
.-메뉴 "도구-옵션"
-왼쪽 패널에서 : "프로젝트 및 솔루션 : 빌드 및 실행":
- "MSBuild Output Verbosity"를 "Minimal"에서 "Diagnostic"으로 변경합니다.

그런 다음 컴파일러가 중지되고 오류가 표시되었습니다.
그 후 옵션을 "진단"에서 "최소"(이전처럼)로 다시 설정하고 "최소"에서도 작동했습니다. (확실히 VS를 다시 시작했습니다) ...

그래서 .. 설정 (MSBuild Output Verbosity ")을 변경 (터치)하기 만하면 문제가 해결되고 VS 및 / 또는 Xamarin 통합 소프트웨어의 버그 인 것 같습니다.


1
이 답변이 더 많이 찬성되지 않는 이유는 무엇입니까? 그것은 당신에게 무엇이 잘못되었는지 디버깅에 완벽한 솔루션 제공
존 데 메트

아래에서 내 대답을 확인하십시오. 또한 귀하의 솔루션이 옳다고 생각했지만 "진단"출력 수준에서도 "오류 탭"이 비어 있음을 깨달았습니다. 다른 사람, 당신은 가능성이 가장 높은 활성 "오류 탭"을 유지하고의 그것을 잘 ... 일을 시작하는 이유
jpo38

6

내가이 문제에 직면 한 유일한 사람인지는 모르겠다.

제 경우에는 Visual Studio를 열었을 때 시간대가 GMT + 1 : 00이었고 빌드가 성공적이었습니다. 그런 다음 시간대를 GMT + 5 : 30으로 변경 한 다음 Visual Studio를 다시 시작하지 않고 응용 프로그램을 실행하려고했지만 오류나 경고없이 빌드가 실패했습니다.

시간대를 GMT + 1 : 00으로 되 돌렸고 빌드가 실수없이 성공했습니다.


정말 감사합니다-이것은 오후 내내 나를 미치게
만들었습니다

2

내가 한 일은 (위의 모든 작업 후에도 여전히 작동하지 않음) 모든 bin 폴더를 살펴보고 모두 지우는 것입니다 (즉, 참조 된 프로젝트도 마찬가지입니다).

이것은 나를 위해 일했습니다. 당신도 그렇게되기를 바랍니다.


2

이 문제가 있었고 using빈 네임 스페이스를 가리키는 것으로 밝혀졌습니다 . 해당 using절을 제거 하면 문제가 해결되었습니다.


2

경고를 확인하십시오 ..

참조 프로젝트가 참조 문제를 일으킨 4.0 인 동안 대상 .Net Framework 4.5가있는 새 클래스 라이브러리가 있습니다.

대상 .Net Framework 4.0으로 클래스 라이브러리를 수정 한 후 제대로 작동했습니다.


2

위의 답변 중 아무것도 도움이되지 않았습니다. 많은 실험 끝에 마침내 문제가 프로젝트 중 하나에서 Microsoft.Net.Compilers v2.10.0에 대한 참조임을 발견했습니다. VS 2015는 해당 버전의 Microsoft.Net.Compilers를 지원하지 않는 MSBuild v14를 사용합니다.


1

저에게이 문제는 사용자 정의 CodeAnalysis 규칙 세트 설정 " IncludeAll " 과 관련이 있습니다.

컴파일러가이 설정을 준수하는 것으로 보입니다.

  <IncludeAll Action="Error" />

그러나 IntelliSense는 "경고"인 규칙 ID에 대해 기본 조치를 취했습니다. 이것은 @RobertHarvey가 표시하는 동작을 설명합니다. 여기서 Build Only로 출력을 필터링하고 ERROR 로 표시하지만 Intellisene Only로 필터링하면 WARNING으로 표시됩니다 . 기본 Build + Intellisense에 의한 필터링 출력은 결정적이지 않은 것처럼 보입니다!

내 수정 사항은 경고로 경고가 되고자하는 규칙을 명시 적으로 호출하는 것이 었습니다.

  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
    <Rule Id="CS0618" Action="Warning" />
  </Rules>

이는 IncludeAll 옵션을 관찰하지 않는 Intellisense의 잠재적 인 문제입니다 . 참조 https://github.com/dotnet/roslyn/issues/7400를


1

이는 이전 프레임 워크를 사용하여 프로젝트를 Visual Studio 2015로 마이그레이션 할 때도 발생할 수 있습니다. 오류 목록에서 경고를 확인하십시오. 프로젝트가 현재 .NET 버전 2.0이고 .NET 3.5 이상이 필요하다는 것을 알 수 있습니다. 유사한 경고가 발견되면 프로젝트의 속성으로 이동하여 필요한 .NET Framework를 대상으로 지정하십시오.


1

경고를 확인하십시오. 때때로 어떤 종류의 경고 때문에 빌드가 실패했습니다.


1

솔루션을 열고 생성하면 "출력 탭"에보고 된 일부 빌드 오류 또는 경고를 볼 수 있지만 "오류 탭"은 문제를보고하지 않습니다.

여기에 이미지 설명 입력

"오류 탭"구성이 정상임을 확인할 수 있습니다 ( "빌드 만 해당"및 "전체 솔루션"선택).

자세히 조사한 결과 빌드를 시작할 때 "오류 탭"이 아직 표시되지 않은 경우에만이 문제가 발생 함을 확인했습니다!

빌드를 수행하기 전에 "오류 탭"을 활성화 한 경우 (또는 Visual을 시작할 때 현재 탭인 경우) 새로 발견 된 오류 / 경고가 올바르게 표시됩니다.

여기에 이미지 설명 입력

"오류 탭"이 표시 될 때만 초기화되는 것과 같습니다 (처음 클릭 할 때 표시되는 데 더 많은 시간이 걸리므로 사실 일 수 있습니다 ...). 그렇지 않은 경우 빌드를 수집하지 않습니다. 결과 ...

지금까지 " 빌드하기 전에 오류 탭 활성화 " 보다이 문제에 대한 더 나은 답은 없습니다 .

그래서 언젠가 "VS 다시 시작"이 작동하는 이유입니다. "오류 탭"이 비어있는 것을 확인하고 VS를 닫고 다시 생성 한 다음 VS가 이전 세션에서 현재 활성 탭을 복원함에 따라 기본적으로 "오류 탭"이 표시됩니다. 빌드하고 이제 "오류 탭"이 채워집니다 ...! 당신은 운이 좋았습니다.

참고 : VS 버그보고 : https://connect.microsoft.com/VisualStudio/feedback/details/3132689


이 솔루션은 저에게 효과적이었습니다. 한 번 나에게 일어났습니다. 경고가 표시되지 않았습니다. 오류 목록 창을 열고 솔루션을 다시 빌드했습니다. 이번에는 경고가 표시되었습니다. VS를 다시 시작한 후에도 같은 문제를 다시 재현 할 수 없습니다.
IAN

1

저에게는 빌드가 오류없이 실패했지만 약간의 조사 끝에 VS에서 MSHTML에 대한 참조를 찾을 수 없다는 것을 알았습니다.

여기에 이미지 설명 입력

이 동작은 Windows 10으로 업데이트 한 후에 나타났습니다.이 문제를 해결하려면 GAC에서 어셈블리를 등록해야합니다. 이를 수행하는 방법은 내 대답을 찾은 Windows 10의 MSHTML DLL 대답으로 이동하십시오.


0

답변 에서 가져온

컴파일에 실패했습니다. 출력 창에 오류가 표시되지 않았습니다.

문제의 원인을 찾기 위해 VS에서 빌드 출력을 변경했습니다.-메뉴 "도구-옵션"-왼쪽 패널에서 : "프로젝트 및 솔루션 : 빌드 및 실행":- "MSBuild 출력 자세한 정도"를 "에서 변경합니다. 최소 "-"진단 "

그 후 실제로 의존성 프로젝트에서 실수 한 진짜 이유를 찾았습니다. 제가 의존했던 프로젝트는 저와 다른 프레임 워크 (최신) 용으로 구축되었습니다. 따라서 문제가 발생합니다. Output Verbosity를 Diagnostic에 넣었을 때만 오류가 출력되었습니다.


단순히 문제를 파악하는 것이 아니라 문제 해결 방법을 배우는 것입니다. 이것이 내가 무엇이 잘못되었는지 알아내는 데 도움이 되었기 때문에 디버깅 프로세스에 다른 답변을 포함시킨 이유입니다. 문제가 무엇인지에없는 무작위 추측
존 데 메트

0

나에게 그것은 불량 자산이었다. 문제는 반드시 내가 오류를 볼 수 없다는 것이 아니 었습니다. 오류는 다음과 같습니다.

하위 노드 "2"가 너무 일찍 종료되었습니다. 종료합니다. 진단 정보는 MSBuild _ *. failure.txt라는 임시 파일 디렉터리의 파일에서 찾을 수 있습니다.

처음에는 Visual Studio를 닫으려고하지 않는 한 빌드가 중단되고 오류가 표시되지 않습니다. 다시 시작하면 빌드시 장시간 멈춘 후 위의 메시지가 표시됩니다.

숨겨진 .vs폴더 삭제 , 솔루션 다시 작성 / 정리 및 Visual Studio 다시 시작이 작동하지 않았습니다. 연결된 속성을 제거하면 수행되었습니다. 어딘가에서 제대로 작동하지 않는 실제 코드 일 수 있습니다.

마지막 수단으로 문제가 해결 될 때까지 최근 변경 사항을 하나씩 제거하겠습니다.

최신 정보

저는 전통적인 WPF 응용 프로그램을 개발하는 데 익숙했기 때문에 .UWP에서 s를 사용하여 "연결된"XAML 네임 스페이스를 가질 수 없다는 사실을 깨닫지 못했습니다 . 사용하여 연결된 속성을 설정하려고했습니다.

My.Namespace:SomeClass.SomeProperty="SomeValue"

반면에, 그것은

MyNamespace:SomeClass.SomeProperty="SomeValue"

내가 좋아하는 것만 큼 예쁘지는 않지만, 분명히 갈 수있는 유일한 방법입니다.


0

나를 위해 일한 것 :

모든 문서를 닫으면 문제가 해결되었습니다. (intelliSense가 작동을 멈춘 경우에도 동일한 솔루션)

(오른쪽 클릭 탭-모든 문서 닫기)



0

틈새 문제 : 방금 같은 문제가 발생했습니다. 위의 답변 중 어느 것도 도움이되지 않는 것 같습니다.

문제 는 콘솔 프로그램에 대한 것이었고 Main () 메서드를 내가하고 있던 async **로 표시 할 수 없습니다. 확실하지 않은 이유는 Visual Studio에서 프로젝트가 빌드되지 않은 이유를 정확히 지정할 수없는 이유입니다 (매번 오류 0 개와 경고 0 개가 표시됨). Visual Studio 2015 Enterprise를 사용하고 있습니다.

수정 : 해결 방법여기 입니다.


0

dll 파일을 업데이트 한 후 새 파일이 더 높은 버전의 .NET Framework를 대상으로한다는 것이 밝혀졌습니다. 해결책은 프로젝트 속성으로 이동하여 대상 프레임 워크를 적절한 버전으로 변경하는 것이 었습니다.


0

MSBuild.exe가 디렉터리 (C ​​: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin)에서 변경되었습니다.

그래서 나는 vs2015가있는 다른 PC에서 MSBuild.exe를 대체합니다.

이제 잘 작동합니다.


0

.NET Framework를 4.5.2에서 4.0으로 변경하여 해결책을 찾았습니다.

현재 선택된 프레임 워크와 호환되지 않는 참조로 인해 문제가 발생했습니다.


0

방금 필터를 지우고 효과가 있었는데 모든 필터 지우기 아이콘이 메시지 상자 근처에 있습니다.


0

새 프로젝트를 시작하십시오. 모든 코드를 아래 네임 스페이스 ConsoleApp38450983450까지 복사합니다.

네임 스페이스 ScrewedUpConsoleApp102343 아래의 새 프로젝트에 붙여 넣기

완벽한 빌드 및 실행


-1

모든 오류를 보려면 '전체 솔루션'의 오류 목록 아래 오른쪽에있는 콤보 상자를 설정해야합니다. 여기에 이미지 설명 입력


1
이 다소 오래된 질문에는 이미 받아 들여진 대답이 있습니다. 여기에서 매우 짧고 설명적인 대답이 많은 것을 추가하는 것처럼 보이지 않습니다. 또한 외부 사이트의 이미지에 링크 하지 말고 답변에 이미지를 추가하십시오!
Dux
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.