developer tip

Visual Studio 2010은 소스 파일을 변경 한 후 오류없이 빌드가 실패했다고 말합니다.

optionbox 2020. 11. 23. 08:03
반응형

Visual Studio 2010은 소스 파일을 변경 한 후 오류없이 빌드가 실패했다고 말합니다.


몇 가지 프로젝트가있는 Visual Studio 2010 솔루션이 있습니다. Build-> Build Solution 또는 Build-> Build MyCompany.MyProduct.MyProject로 성공적으로 빌드 할 수 있습니다. 빌드 후 Ctrl + F5를 누르고 시작 프로젝트를 성공적으로 실행합니다. 이것은 예상대로 작동합니다.

소스 파일을 변경 한 후 저장 한 다음 다시 빌드합니다 (Build-> Build Solution 또는 Build-> Build MyCompany.MyProduct.MyProject 사용). 성공적으로 빌드됩니다. 여전히 CTRL + F5를 누르고 시작 프로젝트를 실행할 수 있습니다. 이것은 다시 예상대로 작동합니다.

문제는 다음 시나리오에 있습니다. 소스 파일을 변경 한 후 저장하고 CTRL + F5를 직접 누르면 Visual Studio 2010에서 BUILD FAILED가 표시되고 오류가 없습니다. 그리고 그것은 내 시작 프로젝트를 시작하지 않습니다 (물론).

내가 뭔가를 놓치고 있습니까?


Visual Studio를 닫고 .suo솔루션 파일을 삭제합니다 . Windows의 '숨겨진 파일'이며 사용자 기본 설정을 포함하지만 불쾌한 일도 할 수 있습니다.


조금 늦게 보이지만 나에게 도움이 된 것은 출력 창을 확인하는 것이 었습니다.

아직 존재하지 않는 함수에 대한 참조가 있습니다. 왜 오류 목록에 나타나지 않았는지 모르겠지만 출력 창에서 문제가 발생한 위치를 정확히 알려주었습니다.


컴파일 / 실행하는 위치를 변경하여 동일한 단계를 반복하십시오. 이전 위치와 비교할 때 새 위치에 트래버스 할 폴더가 더 적은지 확인하십시오. 소스 코드에 대한 긴 경로로 인해 비슷한 문제가 발생했으며 더 짧은 경로를 선택하여 극복했습니다.


저는 비주얼 스튜디오를 닫았습니다.

모든 bin 폴더를 삭제했습니다. (이상한 권한 오류가있어서 파일을 삭제하고 빈을 포함한 폴더를 백 트랙으로 삭제했습니다.)

Visual Studio를 다시 열었습니다. 빌드 또는 재 빌드를 수행하고 모든 것이 다시 작동했습니다.


프로젝트의 실제 경로를 확인하십시오. 긴 경우 프로젝트를 매우 짧은 이름의 루트 디렉토리 폴더에 복사하십시오. 그리고 프로젝트를 구축해보십시오.


이 문제가 있었고 경고가 하나 있었지만 오류를 찾을 수 없었습니다. 결국 출력 창에서 빌드 명령을 명령 창으로 복사하고 수동으로 실행했습니다. 경고 후 4 개의 오류가 발생했습니다. 왜 이것이 효과가 있는지 모르겠습니다.

필요한 명령은 "CoreCompile"이라는 레이블이 지정되고 다음과 같이 표시되어야합니다. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;SILVERLIGHT;WINDOWS_PHONE /errorendlocation /preferreduilang:en-US /highentropyva- /reference:"C:\Dropbox\code

표시되지 않는 경우 도구-> 옵션-> 프로젝트 및 솔루션-> 빌드 및 실행에서 빌드 출력 설정을 변경하고 "MSBuild 프로젝트 빌드 출력 상세도"를 보통 이상으로 설정합니다.


다른 사람들이이 문제를 겪고있는 경우 (나는 먼저 SUO 파일을 삭제하려고했지만 이것이 저에게 효과가 없었습니다) :

내 솔루션에 빈 새 프로젝트를 만들고 모든 소스 파일을 새 프로젝트로 가져 와서 해결했습니다. 프로젝트 파일에 문제가있을 수 있습니다.


나는 같은 문제가 있었고 다음 단계로 해결되었습니다.

도구-> 옵션-> 프로젝트 및 솔루션-> 일반으로 이동하여 "빌드가 오류와 함께 완료되면 항상 오류 목록 표시"상자를 선택해야합니다.이 경우 Visual Studio에 오류 목록이 표시됩니다.


제 경우에는 출력 창에서 코드 계약 버그를 보지 못했습니다.

CodeContracts: xxx: Unhandled Exception: System.IO.FileNotFoundException:
Could not load file or assembly 'System.Data.SqlServerCe, Version=3.5.1.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies.
The system cannot find the file specified.

이 답변에서 제안한 것처럼 해당 프로젝트의 코드 계약 창에서 캐시 결과비활성화하여 문제를 해결했습니다 .


이 문제가 발생했을 때 동일한 솔루션에서 라이브러리 프로젝트를 참조하는 웹 사이트 프로젝트에서 작업 중이었습니다. 편집기가 구문을 강조 표시하고 소스를 탐색하는 동안 빌드에 실패했습니다. 매우 실망 스럽습니다.

다른 답변 중 어느 것도 나를 위해 일하지 않았습니다. 최근에이 컴퓨터에서 처음으로 DBML을 사용 했기 때문에이 문제 가 관련 될 수 있다고 생각 했습니다 . 여전히 그것이 기여 요인이 아닌지 완전히 확신하지 못합니다.

솔루션, 임시 파일을 정리하고 VS를 다시 시작한 후 2 개의 문제가있는 파일을 제외하여 솔루션을 성공적으로 빌드 한 다음 다시 포함하면 모든 파일이 올바르게 빌드되었습니다.


추신 나중에 웹 사이트의 마스터 페이지 코드 숨김 (제거 된 열거 형 값 참조)에서 오류로 표시되지 않는 오류를 발견했습니다. 나는 이전에 (분명히) 관련되지 않은 문제를 일으키는 마스터 페이지 코드 숨김에 오류가있었습니다. 나는 간단한 해결책이 나타나지 않을 때 거기를 확인하는 것을 기억하려고 노력한다.


내 문제는 기능적 vs2008 프로젝트를 vs2010으로 변환하는 것에서 발생했습니다. 솔루션의 다른 모든 프로젝트는 문제가 없었지만이 프로젝트는 MIDL 부분을 빌드 한 다음 중지하고 실패합니다. 자세한 빌드 설정은 아무것도 드러내지 않았으므로 마침내 모든 파일이 동일한 완전히 새로운 프로젝트를 만들었습니다. 이것은 효과가 있었다. 그런 다음 설정을 비교 한 후 마지막으로 여러 부분을 일치하도록 변경 한 후 변환 된 프로젝트에 MIDL-> General-> "MkTypeLib Compatible"이 공백으로 설정되어 있음을 발견했습니다. 이것은 분명히 vs2008에서 유효한 설정 이었지만 vs2010에서는 분명히 예 또는 아니요 (또는 상속)로 설정해야합니다.

이것은 내 문제를 해결했습니다.


솔루션에 너무 많은 프로젝트가 포함 된 경우

프로젝트를 개별적으로 구축하고

실패한 프로젝트 확인

for that project check the references of that project , if on any reference if their is yellow color mark, then delete that reference , and add that again , then build and check,

this will work

or

check in output window , each line , in some line it may be showing , dependency is their , but didnt found it , that is the problem causing

this may be due to file corruption


Has this issue when dealing with Sharepoint 2013 Workflows in VS 2013. To solve it did the following:

  1. Unload worklfows ( the buggy one) project.
  2. Delete .csproj.user file
  3. Opened .csproj file in the notepad and delete the following lines:

     <PropertyGroup>
      <VisualStudioVersion Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '11.0'">11.0</VisualStudioVersion>
     <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
    

After RELOADING project into solution, the VS added exactly the same lines AGAIN, but no LoaderException issues now.


I had this issue today as well... after changing the verbosity of build to diagnostic like @Jac suggested, i discovered that the problem relies in one my resx files. Apparently, one image was corupted or was too big, i deleted it and it worked!


I faced that problem two days ago. I checked on Windows output and I founded there was a missing reference to VBIDE: Cannot find wrapper assembly for type library VBIDE. I showed all files on the solution explorer, expanded references and I found there was a reference to that assembly. I do not know how that reference came into my project and I was sure I did not need it. I just removed it and everything was fixed.


Another thing to check is that if any of your source files are open it will not be able to build. I had to restart my computer.


Some times if the Directory path is more than 248 chars it will fail the Solution. Make sure complete path is less than that.I have faced the same issue than i made short and it did worked for me.

Regards Venkateshwarlu, MSBI Developer, Hyderabad.

참고URL : https://stackoverflow.com/questions/5068011/visual-studio-2010-says-build-failed-with-no-errors-after-i-change-a-source-file

반응형