MSG] Win32 매니페스트를 포함하는 동안 오류가 발생했습니다. <file> 매니페스트 파일을 찾을 수 없습니다.
.NET / 2008. 12. 23. 01:32
멀쩡하게 잘 돌아가던 VS2008 프로젝트가 갑자기 빌드시 이런 오류 메세지를 뱉(?)었다.
Win32 매니페스트를 포함하는 동안 오류가 발생했습니다. <file> 매니페스트 파일을 찾을 수 없습니다.
이 오류를 해결하려면
-
/win32manifest 컴파일러 옵션에 올바른 파일 이름과 경로를 지정합니다.
라고 http://msdn.microsoft.com/ko-kr/library/bb763057.aspx 에서 알려주고 있네요
하지만 어떻게....???
VS2008 프로젝트에서 My Project -> 응용프로그램 -> UAC 설정 보기를 누르면
app.manifest파일이 생성된다..
내용은..
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 매니페스트 옵션
Windows 사용자 계정 컨트롤 수준을 변경하려면
requestedExecutionLevel 노드를 다음 중 하나로 바꾸십시오.
하지만 어떻게....???
VS2008 프로젝트에서 My Project -> 응용프로그램 -> UAC 설정 보기를 누르면
app.manifest파일이 생성된다..
내용은..
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 매니페스트 옵션
Windows 사용자 계정 컨트롤 수준을 변경하려면
requestedExecutionLevel 노드를 다음 중 하나로 바꾸십시오.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
이전 버전과의 호환성을 위해 파일 및 레지스트리 가상화를 사용하려면
requestedExecutionLevel 노드를 삭제하십시오.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
그러면서 위의 오류 메세지는 사라진다.
requestedExecutionLevel 노드를 삭제하십시오.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
그러면서 위의 오류 메세지는 사라진다.