2013-07-16 1 views
0

이됩니다. 속성 대화 상자에서 "버전"탭을 선택합니다. 그런 다음 productversion을 클릭합니다. 이 값은 C#으로 가져와야합니다. "fileversioninfo.productversion"으로 시도했지만 explorer "1.85"에 도착하면 fileversioninfo가 이상한 값을 반환합니다 : 1,00000,8,00. 점은 쉼표가되고 마지막 자리는 제거됩니다. 그게 중요하다면 나는 7 64 비트 승리에 그물 2를 사용합니다. fileversioninfo가 내가 기대하거나 탐색기가하는 것을 반환하지 않습니다. "fileversioninfo.fileversion"도 시도했지만, 어떻게 든 fileversioninfo.productversion과 같은 이상한 값을 반환합니다. 탐색기보기에서는 원래 파일 속성 대화 상자 창에서 파일 버전과 생산 버전의 차이가 명확합니다. .Net의 fileversioninfo 클래스를 사용하는 경우 탐색기와 같은 방식으로 값이 표시되지 않습니다. 탐색기에서 버전 값을 가져 오려면 어떻게해야합니까?Explorer에서 실행 파일의 프로그램 버전을 얻으려면 C# .NET 2에서 실행 파일에 대한 탐색기를 마우스 오른쪽 단추로 클릭하고 "속성"을 선택하면

답변

1

게시물을 다시 읽으면 다른 exe 또는 exe 파일 버전을 가져 오시겠습니까?

다른 exe는 FileVersionInfo의 FileMajorPart, FileMinorPart, FileBuildPart, FilePrivatePart 또는 ProductMajorPart, ProductMinorPart, ProductBuildPart, ProductPrivatePart를 사용하고 원하는 값을 형식화하십시오.

회사 또는 해당 exe를 컴파일 한 사람이 사용한 버전 필드에 따라 특정 버전 필드가 포함되어 있거나 없을 수 있습니다.

FileVersion 또는 ProductVersion 속성을 사용하면 64 비트 길이의 네 개의 16 비트 단락이 major.minor.build.private 구성 요소 인 64 비트 숫자를 반환합니다. 당신이로 .toString를 (사용하는 경우

그러나,이 때문에) 제대로 포맷해야합니다

FileVersionInfo fvi = FileVersionInfo.GetVersionInfo("C:\\MyFile.txt"); 
string = fvi.ProductVersion.ToString(); 

를 그 다음, 올바르게 포맷 버전 정보의 각 개별 구성 요소를 사용하지 않는 경우.

FileVersionInfo fvi = FileVersionInfo.GetVersionInfo("C:\\MyFile.txt"); 

int major = fvi.ProductMajorPart; 
int minor = fvi.ProductMinorPart; 
int build = fvi.ProductBuildPart; 
int revsn = fvi.ProductPrivatePart; 

string = String.Concat(major.ToString(), ".", minor.ToString(), ".", build.ToString(), ".", revsn.ToString()); 

또는 단지 :

다른 EXE 파일의 포맷 버전을 표시하려면

FileVersionInfo fvi = FileVersionInfo.GetVersionInfo("C:\\MyFile.txt"); 

string = String.Concat(fvi.ProductMajorPart.ToString(), ".", fvi.ProductMinorPart.ToString(), ".", fvi.ProductBuildPart.ToString(), ".", fvi.ProductPrivatePart.ToString()); 

이 당신을 exe 인 실행하기 위해이 정보를 검색하려면를 사용

version = Assembly.GetExecutingAssembly().GetName().Version; 

문자열로 표시 형식 M.m.b.r 사용하여 :

와 그 구성 부품으로 검색 할 수있는 전체 버전 major.minor.build.revision입니다
string = Assembly.GetExecutingAssembly().GetName().Version.ToString(); 

:

major = Assembly.GetExecutingAssembly().GetName().Version.Major; 
minor = Assembly.GetExecutingAssembly().GetName().Version.Minor; 
build = Assembly.GetExecutingAssembly().GetName().Version.Build; 
revision = Assembly.GetExecutingAssembly().GetName().Version.Revision; 
+0

내 게시물을 업데이트가. 그게 당신에게 필요한 정보를 제공하는지 알려주세요. – deegee

+0

좋습니다. 기꺼이 도와주세요. :-) – deegee

관련 문제