2014-09-04 69 views
4

Xamarin documentation on Environment Checks,對於iOS,我可以通過訪問MonoTouch.Constants.Version來檢查Xamarin的版本。查看版本的Xamarin.Android以編程方式

是否有Xamarin.Android的等價物?我想爲此進行記錄。

+0

克里斯,我已經重做了我的答案,以顯示我們如何訪問Xamarin.Android的版本。這是我的團隊幾個月前必須解決的一個問題,我認爲它現在應該回答您最初的問題。 – matthewrdev 2015-03-19 21:43:22

回答

2

我們已經通過使用*.tt文件的完成了這個閱讀Xamarin.Android版本的文件,並生成包含版本信息的C#類:

<#@ template language="C#" #> 
<#@ output extension=".cs" #> 
<#@ assembly name="System.Core" #> 
<#@ import namespace="System" #> 
<#@ import namespace="System.IO" #> 
<#@ import namespace="System.Diagnostics" #> 
<#@ import namespace="System.Linq" #> 
<#@ import namespace="System.Collections" #> 
<#@ import namespace="System.Collections.Generic" #> 

namespace Versioning 
{ 
    public class XamarinAndroid 
    { 
    <# 

    #if __MonoCS__ 
     var path = @"/Library/Frameworks/Xamarin.Android.framework/Versions/Current"; 
    #else 
     var path = (Directory.Exists(@"C:\Program Files (x86)")) 
       ? @"C:\Program Files (x86)\MSBuild\Xamarin\Android" 
       : @"C:\Program Files\MSBuild\Xamarin\Android"; 
    #endif 
     string versionText = "unknown"; 
     if(Directory.Exists(path)) 
      versionText = File.ReadAllLines(Path.Combine(path, "Version"))[0]; 
    #> 
     public const string Version = "<#=versionText#>"; 
    } 
} 

在文件的屬性,設置Custom Tool屬性到TextTemplatingFileGenerator。這將執行t4模板預編譯並生成一個靜態類,其中包含應用程序構建的Xamarin.Android版本。