성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
[정성태] 만드실 수 있습니다. 단지, Unity 엔진 내의 스크립트와 W...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>Visual Studio 빌드 오류 - result: unexpected exception occured (-1002 - 0xfffffc16)</h1> <p> Fake가 포함된 단위 테스트 프로젝트 빌드 시 다음과 같은 오류가 발생합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 1>------ Build started: Project: TestLibUnitTest, Configuration: Debug Any CPU ------ 1>Build started 2019-07-08 오전 11:52:39. 1>BuildFakesAssemblies: 1> Collecting outdated Fakes assemblies 1> fakes tools timestamp: 2019-03-26 07:31:33Z 1> reference assembly paths: ...[생략]... 1> framework assembly path: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\PublicAssemblies 1> output path: D:\TestPrj\FakesAssemblies 1> intermediate path: D:\TestPrj\obj\Debug\Fakes 1> Fakes: 4 (4 .fakes files) 1> Fakes\TestLib.fakes 1> Fakes\mscorlib.fakes 1> Fakes\System.fakes 1> Fakes\System.Web.fakes 1> fakes tool: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\Fakes\fakes.exe 1> command line arguments: /Properties:";PlatformTarget=x64" /msbuildpath:"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe" <span style='color: blue; font-weight: bold'>1> result: unexpected exception occured (-1002 - 0xfffffc16)</span> 1> Fakes assemblies: 1> D:\TestPrj\FakesAssemblies\TestLib.Fakes.dll 1> D:\TestPrj\FakesAssemblies\TestLib.Fakes.fakesconfig 1> D:\TestPrj\FakesAssemblies\System.4.0.0.0.Fakes.dll 1> D:\TestPrj\FakesAssemblies\System.4.0.0.0.Fakes.fakesconfig 1> D:\TestPrj\FakesAssemblies\System.Web.4.0.0.0.Fakes.dll 1> D:\TestPrj\FakesAssemblies\System.Web.4.0.0.0.Fakes.fakesconfig 1> D:\TestPrj\FakesAssemblies\System.4.0.0.0.Fakes.messages 1> D:\TestPrj\FakesAssemblies\System.Web.4.0.0.0.Fakes.messages 1> 1>Build FAILED. 1> 0 Warning(s) 1> 0 Error(s) 1> 1>Time Elapsed 00:00:36.52 ========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ========== </pre> <br /> 자세히 보면, fakes 파일이 4개인데,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 1> Fakes: 4 (4 .fakes files) 1> Fakes\TestLib.fakes 1> Fakes\mscorlib.fakes 1> Fakes\System.fakes 1> Fakes\System.Web.fakes </pre> <br /> 생성된 Fakes.dll은 3개입니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 1> D:\TestPrj\FakesAssemblies\TestLib.Fakes.dll 1> D:\TestPrj\FakesAssemblies\TestLib.Fakes.fakesconfig 1> D:\TestPrj\FakesAssemblies\System.4.0.0.0.Fakes.dll 1> D:\TestPrj\FakesAssemblies\System.4.0.0.0.Fakes.fakesconfig 1> D:\TestPrj\FakesAssemblies\System.Web.4.0.0.0.Fakes.dll 1> D:\TestPrj\FakesAssemblies\System.Web.4.0.0.0.Fakes.fakesconfig 1> D:\TestPrj\FakesAssemblies\System.4.0.0.0.Fakes.messages 1> D:\TestPrj\FakesAssemblies\System.Web.4.0.0.0.Fakes.messages </pre> <br /> 원인은, DLL을 생성하지 못했던 mscorlib.fakes 파일에 정의한 ShimGeneration과 StubGeneration의 순서에 있었습니다. 즉, 다음과 같은 순서인 경우에 "unexpected exception occured (-1002 - 0xfffffc16)" 오류가 발생했던 것으로,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > <Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> <Assembly Name="mscorlib" Version="4.0.0.0"/> <ShimGeneration> <Clear /> <Add FullName="System.AppDomain"/> </ShimGeneration> <StubGeneration> <Remove Namespace="System.Security.Cryptography.X509Certificates"/> </StubGeneration> </Fakes> </pre> <br /> 이렇게 순서를 바꾸고 나서는 정상적으로 빌드가 되었습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > <Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> <Assembly Name="mscorlib" Version="4.0.0.0"/> <<span style='color: blue; font-weight: bold'>StubGeneration</span>> <Remove Namespace="System.Security.Cryptography.X509Certificates"/> </StubGeneration> <<span style='color: blue; font-weight: bold'>ShimGeneration</span>> <Clear /> <Add FullName="System.AppDomain"/> </ShimGeneration> </Fakes> </pre> <br /> 사실, Visual Studio 편집기 화면에서 StubGeneration을 뒤에 둔 경우 빨간색 밑줄이 그어져 오류임을 알리고 있었는데 그걸 무시하고 빌드하는 바람에 발생한 오류였습니다.<br /> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1202
(왼쪽의 숫자를 입력해야 합니다.)