2013-04-05 17 views
8

मैं कंसोल एप्लिकेशन का उपयोग करके कुछ अर्द्ध स्वचालित परीक्षण के लिए एक परीक्षण मंच लिख रहा हूं, लेकिन मुझे जिस परियोजना का परीक्षण हो रहा है उससे कनेक्शन स्ट्रिंग प्राप्त करने की आवश्यकता है। मैं अन्य एप्लिकेशन को सीधे संदर्भित नहीं करना चाहता हूं या अन्यथा प्रोजेक्ट में एक एक्सेसर है जिसे मैं परीक्षण कर रहा हूं।किसी अन्य प्रोजेक्ट से वेब.कॉन्फिग एक्सेस करना

जो मैंने अभी तक करने में कामयाब रहा है वह मेरी टेस्ट यूटिलिटी प्रोजेक्ट में अन्य प्रोजेक्ट की वेब.कॉन्फिग फ़ाइल का एक लिंक बना रहा है, और मैंने इसे Copy if newer पर सेट कर दिया है। यह मेरे टेस्ट प्रोजेक्ट के रूट फ़ोल्डर में एकमात्र वेब.कॉन्फिग है, लेकिन WebConfigurationManager.OpenWebConfiguration(null) कुछ अन्य वेब.कॉन्फिग खोल रहा है, क्योंकि इसमें केवल कनेक्शन स्ट्रिंग है। \ SQLEXPRESS (मेरे समाधान में किसी भी फाइल में नहीं, मेरा पथ होगा इस कॉन्फ़िगरेशन में \ sql2008 - जो भिन्न होता है)।

किसी अन्य प्रोजेक्ट से उस कॉन्फ़िगरेशन सेक्शन तक पहुंचने के तरीके के बारे में कोई संकेत या टिप्स?

(Yay पहला सवाल)

+0

क्या आपके वेब.कॉन्फिग के सापेक्ष पथ को 'ओपनवेब कॉन्फ़िगरेशन' के लिए शून्य से गुजरने के बजाय निर्दिष्ट करना संभव है? –

+0

हां, मैंने कोशिश की है कि साथ ही इसका कोई फायदा नहीं हुआ। –

+0

'रॉब' आप इसे निम्नलिखित http: // msdn.microsoft.com/en-us/library/ms224437.aspx' – MethodMan

उत्तर

16

बेहतर देर:

var filePath = @"D:\PathToConfig\Web.config"; 
var map = new ExeConfigurationFileMap { ExeConfigFilename = filePath }; 
var configFile = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); 

मैं नहीं है, हालांकि यह एक के लिए ऋण ले जा सकते हैं, मैं इसे here मिल गया!

+0

यह मेरे लिए काम किया –

3

समाधान मैंने पाया एक XDocument के रूप में यह खोलने के लिए और इसे मैन्युअल रूप से पार्स करने के लिए किया गया था:

 XDocument xdoc = XDocument.Load("Test/Web.config"); 

     var path = xdoc.Element("configuration").Element("connectionStrings").Element("add").Attribute("connectionString").Value; 

हालांकि यदि आप कई कनेक्शन तार था, आप उपयोग करना चाहते हैं .Elements("add")connectionStrings तत्व पर विधि और विभिन्न तारों पर पुनरावृत्ति। कभी नहीं से

+0

+1 मैं बस यह सुझाव देने जा रहा था। – Trisped

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