2012-08-09 180 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