kls*_*kls 17 system.reflection .net-assembly portable-class-library
我在.NET 4.5中有以下代码行,我试图构建为可移植类库.它的目的是获得汇编版本:
this.GetType().Assembly.GetName().Version.Major;
Run Code Online (Sandbox Code Playgroud)
问题是Assembly.GetName()在PCL中不可用.有没有办法在PCL中获得汇编版本?
我知道可以解析Assembly.FullName,但我想要一个更好的解决方案.
pau*_*ulk 22
public static string Version
{
get
{
var assembly = typeof(MyType).GetTypeInfo().Assembly;
// In some PCL profiles the above line is: var assembly = typeof(MyType).Assembly;
var assemblyName = new AssemblyName(assembly.FullName);
return assemblyName.Version.Major + "." + assemblyName.Version.Minor;
}
}
Run Code Online (Sandbox Code Playgroud)
我现在使用以下内容:
[assembly: AssemblyTitle(AssemblyInfo.AssemblyTitle)]
[assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
[assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
[assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
[assembly: AssemblyInformationalVersion(AssemblyInfo.AssemblyInformationalVersion)]
internal class AssemblyInfo
{
public const string AssemblyTitle = "...";
public const string AssemblyProduct = "...";
public const string AssemblyVersion = "1.0.0.0";
public const string AssemblyFileVersion = "1.0.0.0";
public const string AssemblyInformationalVersion = "1.0.0.0-dev";
}
Run Code Online (Sandbox Code Playgroud)
这允许我在不使用反射的情况下引用组件中的任何常量,例如AssemblyInfo.AssemblyProduct.
| 归档时间: |
|
| 查看次数: |
6981 次 |
| 最近记录: |