이 컴퓨터 영상 생 성기 깊이 들 어가 기(Ngen.exe)도구 사용 방법 상세 설명
ngen install filepath
파일 filepath 를 마 운 트 해제 하 는 native code 는 다음 명령 을 사용 합 니 다
Ngen uninstall filepath
본 고 는 주로 이 두 가지 용법 을 사용 합 니 다.이 도구 에 관 한 더 많은 매개 변수 와 소 개 를 참고 하 십시오msdn클 라 이언 트 프로그램 은 반드시 설치 패 키 지 를 만들어 야 합 니 다.제 생각 은 프로그램 을 설치 할 때 이 컴퓨터 이미지 의 생 성 작업 을 하 는 것 입 니 다.우 리 는 설치 프로그램 에 사용자 정의 작업 을 추가 해서 이 일 을 할 수 있다.만약 당신 이 본문의 화제 에 관심 이 있다 면,아래 의 절차 에 따라 시험 해 보 세 요.1.새 솔 루 션,이름 은 마음대로 2.새 솔 루 션 에 winform 프로젝트 를 추가 합 니 다.이 winform 프로젝트 에서 생 성 된 실행 가능 한 파일 을 이 컴퓨터 이미지 생 성 작업 으로 가정 합 니 다.이것 은 프 리 젠 테 이 션 일 뿐 이 므 로 이 항목 은 아무것도 하지 않 습 니 다.3.이 솔 루 션 에 Ngen Installer 라 는 라 이브 러 리 항목 을 추가 하고 Installer Class 를 새로 만 듭 니 다.새로 만 든 Ngen Installer 클래스 에 설치 할 때 ngen 설치 프로그램 을 사용 하 는 기능 코드 를 추가 합 니 다.4.코드 구현 은 간단 하 다.바로 Process 를 사용 하여 ngen 프로그램 을 실행 하여 설 치 를 완성 하 는 것 이다.주의 할 점 이 있 을 때,구체 적 으로 그 파일 을 설치 할 때 Context.Parameters["ngen 1|2|3"]를 통 해 전 달 됩 니 다.이 매개 변 수 는 설치 패 키 지 를 만 드 는 사용자 정의 절차 에서 설정 해 야 합 니 다.구현 코드:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Linq;
using System.Runtime.InteropServices;
using System.IO;
using System.Diagnostics;
namespace NgenInstaller
{
[RunInstaller(true)]
public partial class NgenInstaller : System.Configuration.Install.Installer
{
public NgenInstaller()
{
InitializeComponent();
}
public override void Install(IDictionary stateSaver)
{
NgenFile(InstallTypes.Install);
}
public override void Uninstall(IDictionary savedState)
{
NgenFile(InstallTypes.Uninstall);
}
private enum InstallTypes
{
Install,
Uninstall
}
private void NgenFile(InstallTypes options)
{
string envDir = RuntimeEnvironment.GetRuntimeDirectory();
string ngenPath = Path.Combine(envDir, "ngen.exe");
string exePath = Context.Parameters["assemblypath"];
string appDir = Path.GetDirectoryName(exePath);
int i = 1;
do {
string fileKey = "ngen" + i;
// , ngen1...5,6
if (Context.Parameters.ContainsKey(fileKey))
{
string ngenFileName = Context.Parameters["ngen" + i];
string fileFullName = Path.Combine(appDir, ngenFileName);
string argument = (options == InstallTypes.Install ? "install" : "uninstall") + " \"" + fileFullName + "\"";
Process ngenProcess = new Process();
ngenProcess.StartInfo.FileName = ngenPath;
ngenProcess.StartInfo.Arguments = argument;
ngenProcess.StartInfo.CreateNoWindow = true;
ngenProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
ngenProcess.Start();
ngenProcess.WaitForExit();
i++;
}
else {
break;
}
}
while (true);
}
}
}
이 라 이브 러 리 에는 이 클래스 만 있 습 니 다.우리 가 원 하 는 작업 을 완성 합 니 다.마지막 단 계 는 설치 프로그램 을 만 들 고 솔 루 션 에 설치 항목 을 추가 하 는 것 입 니 다.설치 프로그램 을 추가 한 후 설치 항목 을 우 클릭 하여 항목 출력 을 추가 합 니 다.아래 그림 과 같 습 니 다.
프로젝트 출력 을 추가 하 는 대화 상자 에서 Winforms 프로젝트 와 새로 만 든 라 이브 러 리 를 선택 하 십시오.그리고 설치 항목 을 오른쪽 클릭 하여 보 기 를 선택 합 니 다.사용자 정의 작업 창 을 열 고'Ngen 이 컴퓨터 이미 지 를 생 성 합 니 다'라 는 사용자 정의 작업 을 추가 합 니 다.작업 을 추가 할 때 Ngen Installer 항목 을 선택 하여 다음 그림 을 출력 합 니 다.
다음 그림 과 같이 사용자 정의 작업 이름 을"Ngen 생 성 본체 코드"로 변경 합 니 다.
그리고 새 사용자 정의 작업 을 오른쪽 클릭 하고 속성 창 을 선택 하 십시오.속성 창의 CustomActionData 속성 에 작업 할 프로그램 집합 을 추가 합 니 다.CustomActionData 는 키 쌍 입 니 다.키 쌍 마다/시작 합 니 다.
이 단 계 를 완성 하면 얼마 차이 가 나 지 않 으 니,너 는 전체 해결 방안 을 컴 파일 할 수 있다.설치 항목 이 생 성 된 설치 패 키 지 를 실행 합 니 다.6.설치 패 키 지 를 실행 합 니 다.모든 것 이 정상 이면 이 컴퓨터 이미지 가 생 성 됩 니 다.ngen display filePath 명령 을 통 해 native 이 컴퓨터 의 설치 가 정상 적 인지 확인 할 수 있 습 니 다.다음 명령 행 출력
4.567916.4.567915.테스트 항목 의 소스 코드 입 니 다.이 문장 이 유용 하 기 를 바란다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자주 사용되는 명령adb 핸드폰에서 현재 Activity가 실행 중인 패키지 이름 보기 명령줄에 다음을 입력합니다. adb 송신 전원 켜기 핸드폰 캡처 활성화 캡처 내보내기 새 keystroe {FILENAME.keystore} 생성...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.