-2

私のマシンにmango SDKがインストールされており、Windows Phone OS 7.0とWindows Phone OS 7.5の両方で動作するアプリケーションを作成したいと考えています。また、同じアプリケーションで多くのマンゴー機能を実装する必要があります。出来ますか ?もし私がマンゴー機能を実装するために必要なバージョンに基づいているので、バージョンチェックを行う方法を教えてください。WP7.1下位互換性

答えて

6

2つの異なるバージョンを維持する必要があります。両方のバージョンを同時にサポートする1​​つのXAPをコンパイルすることはできません。

マンゴーAPIは、7.1 SDKでコンパイルする場合にのみ使用できます。そのため、コード内でインラインチェックを行うことはできません。

マンゴーにアップグレードしていないユーザーはほとんどなく、新しい電話機はすべてマンゴーに同梱されているので、無意味です。

+1

。ここで唯一の問題は、クライアントと協力して7.0のサポートを落とすように説得したときです。最後に確認したところでは、MicrosoftはMangoと7.0のユーザーの割合に関する情報を公開していませんでした。 –

2

現在、すべてのWindows PhoneがWp7.5 mangoバージョンとともに出荷されています。古いデバイスもマンゴーアップデートを取得しているため、WP7.0を実行している携帯電話の数をわずかにしかターゲットにしていないようです。

しかし、SDK関連のAPIアクセスが必要ない場合は、この分岐を実行できます。

しかしYou can find the solution to the finding the OS version is in [my answer of same kind of question here.]1

2

プロセスは容易ではないだろうが、あなたは、この使用したタイプのクラスと反射を行うことができます。 Windows Phone 7.0アプリケーションを作成し、マンゴー特有の機能を実装しMangoExtensionsクラスを作成します。

http://www.sharpgis.net/post/2011/08/21/Windows-Phone-Adding-Mango-features-to-a-70-WinPhone-App.aspx

bool IsMangoDevice = (Environment.OSVersion.Version >= new Version(7, 1)); 

if (IsMangoDevice) 
{ 
    Type t = Type.GetType("Microsoft.Phone.Shell.StandardTileData, Microsoft.Phone"); 

    //get the constructor for the StandardTileData and create a new instance of it 
    var newTileData = t.GetConstructor(new Type[] { }).Invoke(null); 
    //Get the setter method for the title property 
    var setMethod = newTileData.GetType().GetProperty("Title").GetSetMethod(); 
    //Set the tile title 
    setMethod.Invoke(newTileData, new object[] { "This is my new tile" }); 
    //Get the create method for the shell tiles 
    Type shellTileType = Type.GetType("Microsoft.Phone.Shell.ShellTile, Microsoft.Phone"); 
    var createMethod = shellTileType.GetMethod("Create"); 
    //Create the tile, with the uri and tile data 
    Uri uri = new new Uri("/MainPage.xaml?Test=This_Came_From_A_Secondary_Tile", UriKind.Relative) 
    createMethod.Invoke(null, new object[] { uri, newTileData}); 
} 
あなたがあなた自身の人口統計学のためのアプリを作っている場合、私は完全にこれに同意