네트워크 의 VC 2005 에서 manifest 문 제 를 통합 합 니 다.

5533 단어 Manifest

ZT - 개인 적 으로 이 글 이 매우 유용 하 다 고 생각 하기 때문에 여기에 올 렸 습 니 다. 원작 자 는 개의 치 않 기 를 바 랍 니 다. 제 가 찾 은 원문 은 http://tony.naio.net/?page_id=33 tony writely 입 니 다.
네트워크 의 VC 2005 에서 manifest 문 제 를 통합 합 니 다.
문제 설명: 대부분의 vs. net 2005 사용자 들 이 "win 32 프로젝트 - windows 응용 프로그램" 을 새로 만 들 때 새 프로젝트 가 연결 되 지 않 습 니 다. Solution to "MSVCR80D. dll not found" "MSVCR80D. dll 을 찾 지 못 했 기 때문에 이 프로그램 이 시작 되 지 않 았 습 니 다. 프로그램 을 다시 설치 하면 이 문 제 를 복구 할 수 있 습 니 다."
vs. net 2005 에서 새로운 DLL 방안 을 채 택 했 기 때문에 하나의 exe 를 만 들 려 면 하나의 manifest 파일 (일반적으로 파일 에 끼 워 넣 기 때문에 볼 수 없 지만 끼 워 넣 지 않 아 도 됩 니 다. 그러면 'exe. manifest' 파일 을 생산 할 수 있 습 니 다. exe 가 없 으 면 자신 이 돌 릴 수 없습니다.) 이것 은 새로운 기능 입 니 다. 마이크로소프트 가 새로운 도구 (mt. exe) 를 만 들 었 는데 결과 가 좋 지 않 습 니 다.fat 32 시간 스탬프 에 문제 가 있 는 것 같 습 니 다.
솔 루 션 1. 마이크로소프트 도 이 문 제 를 처리 해 야 하지만 인성 화 된 것 같 지 는 않 습 니 다. "속성 - > 속성 설정 - > 목록 도구 - > 일반적인" 다음 "에 FAT 32 솔 루 션 을 사용 하여 예 로 선택 하면 됩 니 다. (주의: 이 옵션 을 먼저 설정 한 다음 에 프로젝트 를 컴 파일 해 야 합 니 다. 그렇지 않 으 면 좋 지 않 습 니 다.)
2. 프로젝트 폴 더 를 찾 습 니 다. 예 를 들 어 (my procject) 다음 my procject / my procject / Debug / my procject. rec 를 찾 아 삭제 (전체 Debug 디 렉 터 리 를 삭제 해도 됩 니 다) 하고 다시 컴 파일 하여 해결 하 십시오!
3.1) 먼저 vs. net 설치 디 렉 터 리 를 찾 습 니 다.뒤로 돌아 가서 내용 을 삽입 하 세 요.
사용 할 파일 시스템 선택:
다운로드:
vc.txt
  • FAT32(F)

  • NTFS(N)

  • 자, 저장 하고 닫 습 니 다. 이것 은 변경 되 었 습 니 다. 다음 을 준비 하 십시오. 3) scripts / 2052 를 열 면 파일 이 하나 있 습 니 다. ue 를 열 고 138 줄 의 "var bATL = wizard. FindSymbol (" SUPPORT ATL ") 을 찾 습 니 다.그 다음 에 차 로 돌아 가 다음 과 같은 내용 을 삽입 합 니 다.var MFTool = config.Tools("VCManifestTool"); MFTool.UseFAT32Workaround = true;
    자, 210 줄 (원본 파일 의 210 을 계속 찾 으 세 요. 위 에 있 는 문 구 를 추가 하면 210 이 아 닙 니 다.) "config = proj. Object. configurations. Item (" Release ");"이번 줄 의 "앞쪽" 에 다음 과 같은 내용 을 추가 해 야 합 니 다. if(bFAT32) { var MFTool = config.Tools("VCManifestTool"); MFTool.UseFAT32Workaround = true; } 자, 드디어 다 고 쳤 습 니 다. vs. net 2005 에 win 32 프로그램 을 새로 만들어 보 세 요. 효과 가 괜 찮 죠?
    http://forums.microsoft.com/MSDN/default.aspx?SiteID=1
    manifest 원리 와 용도
    dll 은 동적 으로 호출 되 기 때문에 여러 프로그램 에 공유 되 어 사 용 됩 니 다. 그러나 dll 이 프로그램 이 모 르 는 상태 에서 업그레이드 되 거나 다른 프로그램 에 의 해 변경 되면 문제 가 발생 할 수 있 습 니 다. 즉, 'DLL Hell' 입 니 다.
    시스템 자원 이 점점 풍부 해 지고 하드디스크 가 그다지 긴장 되 지 않 기 때문에 XP 이후 의 운영 체제 에서 새로운 메커니즘 으로 DLL 을 관리 합 니 다. (이런 메커니즘 은. NET 뿐만 아니 라 일반적인 Native 프로그램 에 도 마찬가지 입 니 다)
    Madifest 는 XML 의 설명 파일 입 니 다. DLL 마다 DLL 의 Manifest 파일 이 있 고 응용 프로그램 마다 Application 에 도 자체 Manifest 가 있 습 니 다.
    응용 프로그램의 경우 Manifest 는 exe 파일 과 같은 디 렉 터 리 에 있 는. manifest 파일 일 수도 있 고, exe 파일 내부 에 자원 으로 삽 입 될 수도 있 습 니 다 (Embed Manifest)
    XP 이전 버 전의 windows 는 이전 처럼 이 exe 파일 을 실행 하고 해당 하 는 dll 을 찾 습 니 다. 각각 Manifest 는 불필요 한 파일 이나 자원 일 뿐 dll 파일 은 system 32 디 렉 터 리 에서 직접 찾 아 호출 합 니 다.
    XP 이후 의 운영 체 제 는 Manifest 를 먼저 읽 고 exe 파일 이 호출 해 야 할 DLL 목록 (이때 얻 은 것 은 DLL 파일 자체 의 위치 가 아니 라 DLL 의 manifest) 운영 체 제 를 얻 은 다음 DLL 의 Manifest 에 따라 해당 하 는 DLL 을 찾 습 니 다.
    그러나 Visual Studio 2005 이후 의 새로운 문 제 는 VS 2005 가 가 져 온 8.0 새 C 런 타임 라 이브 러 리 (VC 8.0 CRT) 파일 이 XP 이후 manifest 를 지원 하 는 Windows 버 전에 서 호출 될 때 application 자체 의 Manifest 를 확인 합 니 다. 그렇지 않 으 면 호출 을 거부 합 니 다. 즉, Visual Studio 가 개발 한 application 을 사용 하면 Manifest 가 없어 서 는 안 될 것 입 니 다.(MS 가 왜 이렇게 설정 해 야 하 는 지 모 르 겠 어서 VS 2003. NET 과 달 라 졌 다) (나중에 생각해 보 니 MS 가 말 한 어떤 허울 좋 은 이 유 를 제외 하고 적어도 리 눅 스 의 Wine 시 뮬 레이 션 은 훨씬 번 거 로 워 졌 다)
    프로그램 이 정적 링크 가 아 닌 dll 을 사용 하지 않 고 운영 체제 의 핵심 인 Kernel32. dll, User32. dll, Ole 32. dll, ShDocVW. dll 등 procject 의 설정 은 Use Standard Windows Libraries, Not Using ATL, No Common Language Runtime support 를 사용 해 야 합 니 다. Manifest 를 고려 하지 않 고 꺼 도 됩 니 다.
    VS 2005 에서 Menifest 와 관련 된 설정:? Project / properties / Linker / manifest File / Generate Manifest?? Manifest 생 성 여 부 를 결정 합 니 다. 이 경우 닫 을 수 있 습 니까? Project / properties / Linker / manifest File / Allow Isolation????????? 이것 은 DLL 호출 을 설정 한 것 입 니 다. Manifest 가 필요 한 지 여 부 를 결정 할 수 없습니다. Project / properties / manifest Tool / Input and Output / Embed. Manifest? Manifest 가 단독 파일 인지 exe 에 포 함 된 자원 인지 결정 합 니 다.
    [저 에 게 SDL 을 사용 하 는 것 은 DLL 을 사용 하 는 동적 링크 방식 이 어야 하기 때문에 Manifest 를 켜 고 Manifest Embed 를 exe 에 들 어가 게 하 는 것 이 편리 합 니 다][위의 내용 과 상응하는 것 은 소프트웨어 를 어떻게 발표 하 는 지 에 관 한 문제 입 니 다. 사실은 VC 6.0 의 CRT 라 이브 러 리 만 Windows 의 일부분 으로 연결 되 어 있 습 니 다. 그 다음 에 VS. net 부터 VC 프로그램 이 설치 패 키 지 를 만 드 는 것 도 라 이브 러 리 파일 을 고려 해 야 합 니 다. 다만 VC 6.0 시 System 32, VC. net 에 복사 할 때 exe 파일 local 디 렉 터 리 에 두 는 것 을 추천 합 니 다. 현재 VS 2005 는 Manifest 문 제 를 고려 해 야 합 니 다.귀 찮 은 것 같 지만 괜 찮 습 니 다. VS 자체 도 구 를 가지 고 포장 합 니 다. 다음 사이트 에서 도 redistribution 을 만 드 는 방법 에 대해 이야기 합 니 다.]
    참조 사이트 주소:http://msdn2.microsoft.com/en-us/library/ms235342.aspxhttp://msdn2.microsoft.com/en-us/library/ms235265.aspxhttp://msdn2.microsoft.com/en-us/library/8kche8ah.aspxhttp://blog.kalmbachnet.de/?postid=54http://blogs.msdn.com/nikolad/archive/2005/03/18/398720.aspx
    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1643772

    좋은 웹페이지 즐겨찾기