2014-04-01 4 views
11

मेरे पास मेरे समाधान के भीतर दो परियोजनाएं हैं, इस उदाहरण के लिए मैं उन्हें प्रोजेक्ट ए और बीअन्य परियोजनाओं app.config गुणों तक पहुंच?

प्रोजेक्ट बी संदर्भ ए। प्रोजेक्ट बी प्रोजेक्ट ए के app.config गुणों तक पहुंच सकता है?

मैं, जैसा कि आप परियोजनाओं के बीच कठिन निर्भरता परिचय ए

string tfsUri = ConfigurationManager.AppSettings["TfsUri"]; 

उत्तर

13

की app.config आम तौर पर एक अच्छा विचार नहीं है यही कारण है कि अंदर किसी एप्लिकेशन कुंजी स्ट्रिंग का उपयोग करना चाहते हैं। इसलिए यदि आप कॉन्फ़िगरेशन मूल्य कॉपी-पेस्ट कर सकते हैं, जो आपकी परियोजनाओं को स्वयं निहित कर देगा (हालांकि, यह कॉन्फ़िगरेशन मान का डुप्लिकेशंस प्रस्तुत करता है)।

आप इसे स्वचालित भी कर सकते हैं, ताकि जब आप कोई प्रोजेक्ट बनाते हैं तो कॉन्फ़िगरेशन निर्भरता स्वचालित रूप से हल हो जाती है।

यह कहकर, अन्य विकल्प हैं, और प्रत्येक मामले में आप कुछ और उपयोग करना पसंद कर सकते हैं। अपने अन्य विकल्प हैं: विन्यास परिवर्तन

  • का प्रयोग करें, जैसे SlowCheetah
  • को अपनी कक्षा में एक और "as a link"
  • इंजेक्षन विन्यास मूल्य के लिए एक परियोजना से पूरे कॉन्फ़िग फ़ाइल जोड़ें (config से इसे पढ़ने के बजाय)
  • ConfigurationManager.OpenExeConfiguration
  • जैसी चीजों का उपयोग करके रनटाइम में अन्य प्रोजेक्ट की कॉन्फ़िगरेशन फ़ाइल पढ़ें, How to select different app.config for several build configurations
0 देखें
+0

धन्यवाद! – Adrian

-5

आप प्रोजेक्ट ए से प्रोजेक्ट ए में प्रोजेक्ट ए में प्रोजेक्ट ए कॉन्फ़िगरेशन फ़ाइल में समान मूल्य के बिना गुणों तक नहीं पहुंच सकते हैं।

2
 var path = @"C:\Users\Stephen\source\repos\SensurityConfigurationTool\Configuration.UI\App.config"; 
     string directory = Path.GetDirectoryName(path); 
     var pathRoot = Path.GetPathRoot(directory); 
     string file = Path.GetFileName(path); 


     ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap 
     { 
      ExeConfigFilename = Path.Combine(Path.GetFullPath(directory + "\\" + file)) 
     }; 

     System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); 

आप मूल रूप से रिश्तेदार पथ मिलता है, तो यह व्यापक जवाब के लिए एक पूर्ण पथ में कनवर्ट कर

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