2012-12-04 32 views
11

मैं एक monodroid परियोजना में विकास बनाम उत्पादन कनेक्शन तार और विन्यास तारों को स्टोर करना चाहता हूं। मैं इसे सामान्य रूप से web.config या app.config में ऐप सेटिंग्स के रूप में संग्रहीत करता हूं, लेकिन मुझे इसे मोनोड्रॉइड और मोनोटच परियोजनाओं में कैसे करना चाहिए? मैं इसे डीबग और रिलीज बिल्ड के बीच कॉन्फ़िगरेशन को स्वचालित रूप से स्विच करना चाहूंगा जैसे विज़ुअल स्टूडियो * .config फ़ाइलों के साथ करता है। आईओएस ऐप में मैं इन्हें एक प्लेस्ट में स्टोर कर सकता हूं लेकिन मुझे मोनो में एक क्रॉस प्लेटफ़ॉर्म समाधान चाहिए।monodroid या monotouch में कॉन्फ़िगरेशन तारों के लिए app.config के बजाय मुझे क्या उपयोग करना चाहिए?

मैं इसे monodroid या monotouch में कैसे करूँगा?

उत्तर

15

आपको केवल #if घोषणाओं के साथ एक स्थिर वर्ग का उपयोग करना चाहिए।

कुछ की तरह:

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

लाभ app.config का उपयोग करने के recompiling बिना फाइल सिस्टम पर इन सेटिंग को बदलने की क्षमता है। मोबाइल पर, तैनात किए जाने के बाद फ़ाइल को संपादित करने के लिए कोई अच्छा तरीका नहीं है (विशेष रूप से आईओएस पर)। इसलिए जब आप मूल्यों को बदलने की आवश्यकता होती है तो बस एक स्थिर वर्ग का उपयोग करना और फिर से तैनाती करना बेहतर होता है। यह सभी प्लेटफॉर्म पर भी काम करेगा, क्योंकि यह केवल सी # कोड काम कर रहा है।

+0

:

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

3) अपनी सेटिंग्स पढ़ें। और तकनीकी रूप से, यह ' –

+1

क्या ज़ैमरिन xcconfing का समर्थन करता है? मैंने इसे कभी नहीं देखा है। यह निश्चित रूप से ऐसा कुछ नहीं है जो एंड्रॉइड पर काम करता है। पूछताछ एक क्रॉस-प्लेटफार्म समाधान चाहता है। – jonathanpeppers

+0

यह अभी भी इन परिस्थितियों को संभालने का सबसे अच्छा विकल्प प्रतीत होता है। – Jammer

4

https://www.nuget.org/packages/PCLAppConfig पर उपलब्ध एक एक्समरिन केंद्रित ऐपसेटिंग रीडर है जो निरंतर वितरण के लिए बहुत उपयोगी है;

नीचे के अनुसार

उपयोग:

1) अपने PCL और प्लेटफार्मों परियोजनाओं के लिए nuget पैकेज संदर्भ जोड़ें।

2) अपने पीसीएल प्रोजेक्ट पर एक ऐप.कॉन्फिग फ़ाइल जोड़ें, फिर अपनी सभी प्लेटफार्म परियोजनाओं पर एक लिंक की गई फ़ाइल के रूप में। एंड्रॉइड के लिए, बिल्डिंग एक्शन को 'एंड्रॉइड एसेट' पर सेट करना सुनिश्चित करें, यूडब्ल्यूपी ने बिल्डिंग एक्शन को 'कंटेंट' पर सेट किया है। <add key="config.text" value="hello from app.settings!" />

3), अपने मंच परियोजना में से प्रत्येक पर ConfigurationManager.AppSettings प्रारंभ सिर्फ 'Xamarin.Forms.Forms.Init' बयान के बाद, कि आईओएस में AppDelegate पर है में, MainActivity.cs: आप कुंजियों/मूल्यों सेटिंग जोड़ें एंड्रॉयड, UWP/Windows 8.1 में अनुप्रयोग/WP 8.1: अपनी है कि तब एक xcconfig का उपयोग कर वैश्विक चर के साथ कोड को अव्यवस्थित से बेहतर है क्या करने जा रहा है, तो ConfigurationManager.AppSettings["config.text"];

+0

न केवल उत्पाद के लिए एक लिंक पोस्ट करें। प्रश्न के लिए एक वास्तविक गैर-लिंक-केवल उत्तर दें। – Magisch

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^