.NET 어셈블리의 AssemblyInformationalVersion 값을 가져 오시겠습니까?
AssemblyInformationalVersion
런타임에 어셈블리의 특성 값 을 가져 오는 C # 구문은 무엇입니까 ? 예:
[assembly: AssemblyInformationalVersion("1.2.3.4")]
using System.Reflection.Assembly
using System.Diagnostics.FileVersionInfo
// ...
public string GetInformationalVersion(Assembly assembly) {
return FileVersionInfo.GetVersionInfo(assembly.Location).ProductVersion;
}
var attr = Assembly
.GetEntryAssembly()
.GetCustomAttributes(typeof(AssemblyInformationalVersionAttribute), false)
as AssemblyInformationalVersionAttribute[];
배열입니다 AssemblyInformationalVersionAttribute
. 검색된 유형의 속성이 없어도 null이 아닙니다.
var attr2 = Attribute
.GetCustomAttribute(
Assembly.GetEntryAssembly(),
typeof(AssemblyInformationalVersionAttribute))
as AssemblyInformationalVersionAttribute;
속성이 없으면 null 일 수 있습니다.
var attr3 = Attribute
.GetCustomAttributes(
Assembly.GetEntryAssembly(),
typeof(AssemblyInformationalVersionAttribute))
as AssemblyInformationalVersionAttribute[];
처음과 동일합니다.
응용 프로그램에서 알려진 유형을 사용하면 다음과 같이 간단하게 수행 할 수 있습니다.
using System.Reflection;
public static readonly string ProductVersion = typeof(MyKnownType).Assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion;
물론 속성이 적용되는 어셈블리에 도달하는 데 사용하는 모든 프로세스가 좋습니다. 이것은 System.Diagnostics
또는 WinForm의 Application
개체 에 의존하지 않습니다 .
질문이 조금 오래된 경우에도 :
저에게 맞는 다른 솔루션을 제안합니다.
Application.ProductVersion
AssemblyInformationalVersionAttribute attribute =
(AssemblyInformationalVersionAttribute)Assembly.GetExecutingAssembly()
.GetCustomAttributes(typeof(AssemblyInformationalVersionAttribute), false).FirstOrDefault();
if (attribute != null)
Console.WriteLine(attribute.InformationalVersion);
랜스의 대답을 보완하려면 : Application.ResourceAssembly.Location
어셈블리의 파일 경로를 찾는 데 사용할 수 있습니다 . 이를 통해 단 한 줄로 AssemblyInformationalVersion 문자열을 가져올 수 있습니다.
System.Diagnostics.FileVersionInfo.GetVersionInfo(Application.ResourceAssembly.Location).ProductVersion
http://msdn.microsoft.com/en-us/library/system.reflection.assemblyinformationalversionattribute.aspx
InformationalVersion 속성 살펴보기
MVC Razor 뷰에서 AssemblyInformationalVersionAttribute를 가져 오려면 하나의 라이너가 필요한 경우 @Aerthal의 답변을 바탕으로 작성합니다.
@System.Diagnostics.FileVersionInfo.GetVersionInfo(typeof(Zeroarc.Candid.Web.MvcApplication).Assembly.Location).ProductVersion
참고 URL : https://stackoverflow.com/questions/7770068/get-the-net-assemblys-assemblyinformationalversion-value
'developer tip' 카테고리의 다른 글
HTTP POST는 얼마나 안전합니까? (0) | 2020.11.20 |
---|---|
div 하단에 텍스트 배치 (0) | 2020.11.20 |
C #에 List / IEnumerable에 대한 IsNullOrEmpty가 있습니까? (0) | 2020.11.20 |
서버에 연결 대화 상자에서 캐시 된 서버 이름을 제거하는 방법은 무엇입니까? (0) | 2020.11.20 |
자바 스크립트에 변수가 있는지 확인 (0) | 2020.11.20 |