17

開発と運用の接続文字列と構成文字列を monodroid プロジェクトに保存したいと考えています。通常はアプリ設定として web.config または app.config に保存しますが、monodroid および monotouch プロジェクトではどのように保存すればよいですか? また、Visual Studio が *.config ファイルを使用するのと同じように、デバッグ ビルドとリリース ビルドの間で構成を自動的に切り替えたいと考えています。iOS アプリでは、これらを plist に保存できますが、クロス プラットフォーム ソリューションを mono で使用したいと考えています。

モノドロイドまたはモノタッチでこれを行うにはどうすればよいですか?

4

2 に答える 2

21

#if宣言で静的クラスを使用するだけです。

何かのようなもの:

public static class Configuration {
#if DEBUG
    public const string ConnectionString = "debug string";
#else
    public const string ConnectionString = "release string";
#endif
}

を使用する利点app.configは、再コンパイルせずにファイル システムでこれらの設定を変更できることです。モバイルでは、展開後にファイルを編集する良い方法は (特に iOS では) ありません。したがって、値を変更する必要がある場合は、静的クラスを使用して再デプロイする方が一般的には優れています。これは、C# コードだけで機能するため、すべてのプラットフォームで機能します。

于 2012-12-04T13:15:41.830 に答える
6

https://www.nuget.org/packages/PCLAppConfigで利用可能な Xamarin 中心の AppSetting リーダーがあり 、継続的な配信に非常に役立ちます。

以下のように使用します。

1) nuget パッケージ参照を pcl およびプラットフォーム プロジェクトに追加します。

2) PCL プロジェクトに app.config ファイルを追加してから、すべてのプラットフォーム プロジェクトにリンクされたファイルとして追加します。Android の場合はビルド アクションを「AndroidAsset」に設定し、UWP の場合はビルド アクションを「Content」に設定します。設定キー/値を追加します。<add key="config.text" value="hello from app.settings!" />

3) iOS の AppDelegate、Android の MainActivity.cs、UWP/Windows 8.1/WP 8.1 のアプリにある 'Xamarin.Forms.Forms.Init' ステートメントの直後に、各プラットフォーム プロジェクトで ConfigurationManager.AppSettings を初期化します。

ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);

3) 設定を読みます:ConfigurationManager.AppSettings["config.text"];

于 2016-08-15T03:51:58.880 に答える