2009-01-12 9 views
9

के साथ एएसपी.NET समाधान मेरे पास वीएस 2008 में एक समाधान है जिसमें दो कक्षा पुस्तकालय परियोजनाएं और एक एएसपी.नेट वेबसाइट शामिल है। एएसपी.नेट साइट कक्षा पुस्तकालयों का संदर्भ देती है और पुस्तकालयों में से एक में LINQ से SQL आइटम होता है।कक्षा पुस्तकालय परियोजना

मेरा प्रश्न कक्षा पुस्तकालय में app.config के संबंध में है जिसमें डेटाबेस के लिए कनेक्शन स्ट्रिंग है। जब मैं प्रोजेक्ट का निर्माण करता हूं, तो यह app.config बिल्ड निर्देशिका के भीतर नहीं है और इसका मतलब है कि मैं तैनात प्रोजेक्ट के लिए कनेक्शन स्ट्रिंग को गतिशील रूप से बदल नहीं सकता।

मैं यहां क्या गलत कर रहा हूं, मैं इन सेटिंग्स को कैसे तैनात कर सकता हूं ताकि मैं कनेक्शन स्ट्रिंग में परिवर्तन कर सकूं?

अग्रिम धन्यवाद,

मार्टिन।

उत्तर

18

इससे मुझे पहले भी भ्रम का कारण बन गया।

आपको लगता है कि क्लास लाइब्रेरी app.config फ़ाइल का उपयोग करती है जो कि अपने स्वयं के प्रोजेक्ट में निहित है लेकिन ऐसा नहीं है। यह प्रोजेक्ट की कॉन्फ़िगरेशन फ़ाइल का उपयोग करता है जो इसका संदर्भ दे रहा है।

तो आप अपने ASP.Net परियोजना के web.config फ़ाइल के अंदर <appSettings/> टैग के लिए देखो और <appSettings></appSettings> के लिए इसे बदल और <add ... /> टैग पर पुस्तकालय के app.config फ़ाइल में निहित हैं जोड़ने है क्या करने की जरूरत परियोजना। इसे कॉन्फ़िगर करने के लिए आपको कॉन्फ़िगरेशन प्रबंधक श्रेणी के लिए अपने कोड में कुछ भी बदलने की आवश्यकता नहीं है। यह जानता है कि स्वचालित रूप से कहां देखना है।

आशा है कि यह समझ में आता है।

1

आप अंतिम उत्पाद में Web.config फ़ाइल संपादित कर सकते हैं। कॉन्फ़िगरेशन एपीआई सामान्य रूप से एप्लिकेशन की प्राथमिक कॉन्फ़िगरेशन फ़ाइल से कॉन्फ़िगरेशन डेटा प्राप्त करेंगे, जो एएसपी.नेट ऐप्स के मामले में Web.config है और क्लाइंट अनुप्रयोगों के लिए Myfile.exe.config है। यह जानना महत्वपूर्ण है कि प्रोजेक्ट में कक्षा पुस्तकालयों में आमतौर पर MyClassLib.dll.config जैसी अलग कॉन्फ़िगरेशन फ़ाइल नहीं होगी (जब तक कि आप मैन्युअल रूप से विशिष्ट फ़ाइल को संदर्भित नहीं करते)।

0

अपनी लाइब्रेरी की app.config फ़ाइल से कनेक्शन स्ट्रिंग अनुभाग को अपनी web.config फ़ाइल में कॉपी करें। आवश्यकतानुसार अपने उत्पादन सर्वर से वास्तविक कनेक्शन स्ट्रिंग को अपने उत्पादन सर्वर में बदलें। कॉन्फ़िगरेशन प्रबंधक श्रेणी जो LINQ2SQL कनेक्शन स्ट्रिंग प्राप्त करने के लिए उपयोग करती है, उचित रूप से नामित कनेक्शन स्ट्रिंग के लिए web.config फ़ाइल में दिखाई देगी और यदि यह मौजूद है तो इसका उपयोग करें।

0

यदि आप विकास बनाम उत्पादन के लिए अलग-अलग सेटिंग्स रखना चाहते हैं, तो वेब परिनियोजन परियोजना का उपयोग करें। here डाउनलोड करें। माइक्रोसॉफ्ट के वर्णन से:

विजुअल स्टूडियो 2008 वेब तैनाती परियोजनाओं का निर्माण और तैनात वेब साइटों और दृश्य स्टूडियो 2008 में वेब अनुप्रयोगों इस ऐड-इन निर्माण प्रबंधन के लिए एक व्यापक यूआई प्रदान करता है के लिए अतिरिक्त कार्यक्षमता प्रदान MSBuild के साथ पूर्व-निर्माण और पोस्ट-बिल्ड कार्यों का विन्यास, विलय, और उपयोग करना।

1

कनेक्शन स्ट्रिंग की समस्या को दूर करने के लिए, यहाँ चाल

  1. उर वर्ग पुस्तकालय घोषित मॉड्यूल है कि दो गुण मिल गया है अंदर है, एक एक सेटर है और अन्य एक गेटर है, और उन्हें बनाने जनता।
    1. अपनी वेबसाइट प्रोजेक्ट के अंदर, वैश्विक फ़ाइल पर जाएं, और दोनों सत्रों के तहत प्रारंभ करें और एप्लिकेशन प्रारंभ करने वाले सेटर प्रॉपर्टी को कॉल करें, और इसे उस कनेक्शन स्ट्रिंग को असाइन करें जो इसमें स्थित है ur web.config, अब कनेक्शन स्ट्रिंग वेबसाइट सामान्य दायरे में उपलब्ध होगी और जब तक आपका सत्र क्रेडेंशियल समाप्त नहीं हो जाता तब तक मान मौजूद है।
संबंधित मुद्दे