2012-08-09 153 views
2

關於MonoTouch的IOS開發用C#:MonoTouch的自動增量內部版本號版本號爲

我試圖實現一個自動遞增的內部版本號到我的MonoTouch IOS項目。類似[Major]。[Minor]。[Build]對於每個版本的[Build]部分都會自動遞增。

我在下面找到了這篇文章,但它似乎是使用Objective C,我無法弄清楚如何使用Monotouch C#獲得這個工作。

http://monotouch.2284126.n4.nabble.com/How-to-increment-the-iPhone-Application-Version-number-on-every-build-td4425363.html

在MonoTouch中,我有機會獲得「System.Reflection.AssemblyVersionAttribute」,但我不知道如何使用它。我試過這樣簡單的東西:

System.Reflection.AssemblyVersionAttribute tempvar = new System.Reflection.AssemblyVersionAttribute ("1.2.*"); 

Console.WriteLine("tempvar = " + tempvar.Version); 

但是,打印輸出的字面意思是:「1.2。*」,並且不會自動遞增。

任何有經驗的人?在此先感謝

回答

4

System.Reflection.AssemblyVersionAttribute旨在用作屬性。編譯器將用一個數字替換*。例如。

[assembly: System.Reflection.AssemblyVersionAttribute ("1.2.*")] 

你也可能想看看這個email爲如何使用你的應用程序包的版本。

+0

謝謝!原來我只是不知道如何正確訪問Attribute的值。您的回覆和此鏈接非常有用http://www.pcreview.co.uk/forums/can-obtain-value-assemblyversion-attribute-t1297938.html。如上所述設置屬性後,我使用以下代碼行來訪問它:System.Reflection.Assembly.GetExecutingAssembly()。GetName()。Version.ToString() – LampShade 2012-08-10 15:42:02

+0

感謝@poupou解決方案和Lampshade的實現! – callisto 2013-02-27 14:04:46

+0

你會在哪裏設置程序集屬性?它通常在AssemblyInfo.cs中,但我沒有在我的項目中。 – lordscarlet 2013-03-14 17:34:43