ASP.Net वेब अनुप्रयोग कॉन्फ़िगरेशन ट्रांसफ़ॉर्म ग्रेड आउट जोड़ें


88

मैंने अपने समाधान के लिए एक मौजूदा ASP.Net वेब अनुप्रयोग परियोजना को जोड़ा। मानक डिबग और रिलीज़ कॉन्फ़िगरेशन के अतिरिक्त इस समाधान में दो कस्टम कॉन्फ़िगरेशन, SAT और UAT भी हैं। Web.Config पर राइट क्लिक करने पर नए वेब एप्लिकेशन के लिए संदर्भ मेनू दिखाई देता है, लेकिन "कॉन्फ़िग ट्रांसफ़ॉर्म जोड़ें" का विकल्प धूसर हो जाता है।

मुझे हानि हो रही है। नई परियोजना एक वेब अनुप्रयोग है। कॉन्फ़िगरेशन प्रबंधक इस प्रोजेक्ट के लिए दो कस्टम कॉन्फ़िगरेशन नहीं दिखाता है, लेकिन यह अन्य प्रोजेक्ट्स के लिए करता है। प्रोजेक्ट को समाधान फ़ाइल में सही प्रविष्टियाँ दिखाई देती हैं।

विचार?

जवाबों:


115

आपको पहले कॉन्फ़िगरेशन प्रबंधक में कॉन्फ़िगरेशन को परिभाषित करना होगा। यह सुनिश्चित करने के लिए कि आप कॉन्फ़िगरेशन प्रबंधक को ला रहे हैं, आप इसे निम्न पर जा सकते हैं: Build-> कॉन्फ़िगरेशन प्रबंधक

में सक्रिय समाधान विन्यास लटकती, का चयन <New...>। आपके द्वारा जोड़ दिए जाने के बाद, आप फिर "कॉन्फ़िगर ट्रांसफ़ॉर्म जोड़ें" कर पाएंगे।

अपनी समाधान फ़ाइल को सीधे संपादित न करें। यह केवल सिरदर्द पैदा करेगा।


6
ओह। मैंने कोशिश की थी कि पहले लेकिन "बनाने" बॉक्स को अनचेक करने में विफल रहा, इसलिए यह "डुप्लिकेट" के रूप में विफल हो रहा था। जैसे ही मैंने "create" बॉक्स अनचेक किया, यह काम कर गया।
paulv7260

@maplemale यहां भी, विकल्प अभी भी ग्रे
एंडर्स लिंडन

मुझे क्षमा करें, मुझे यह याद नहीं है कि मुझे यह काम कैसे मिला। मैंने सीधे एसएलएन फ़ाइल को हैक कर लिया है, जेरेमी के जवाब के विपरीत, यह कभी-कभी केवल समय-व्यवहार्य विकल्प है। हालांकि VS2015 में अपग्रेड होने के बाद से मेरे पास यह समस्या नहीं है।
maplemale

2
समाधान और परियोजना विन्यास अलग हैं! इससे पहले कि आप उस परिवर्तन का उपयोग कर सकें किसी दिए गए प्रोजेक्ट में कॉन्फ़िगरेशन बनाने की आवश्यकता है। या तो सभी प्रोजेक्ट्स में एक साथ कॉन्फ़िगरेशन बनाने के लिए "नया प्रोजेक्ट कॉन्फ़िगरेशन बनाएं" जांचें या व्यक्तिगत रूप से ऐसा करें जैसे @ paulv72n ने किया।
पैट्रिक

1
यदि यह अभी भी धूसर हो गया है, तो सुनिश्चित करें कि आपके वेब प्रोजेक्ट में बिल्ड कॉन्फ़िगरेशन है जो समाधान कॉन्फ़िगरेशन के नाम से मेल खाता है और सुनिश्चित करें कि यह चयनित है।
jmatthias

45

जब हम पब्लिशप्रोफाइल के साथ काम करते हैं, तो मेरे लिए यह उत्तर प्रासंगिक pubxmlफ़ाइल (प्रोजेक्ट फ़ोल्डर Propertiesसबफ़ोल्डर में पाया गया) पर राइट-क्लिक करना PublishProfilesऔर फिर चयन करना था Add Config Transform। कोई प्रबंधकों की जरूरत;)


यह समाधान मेरे लिए बहुत बेहतर काम करता है क्योंकि मैं केवल इस परिवर्तन को जोड़ना चाहता हूं, और कुछ नहीं। नए सक्रिय समाधान कॉन्फ़िगरेशन का समाधान में सभी परियोजनाओं पर प्रभाव पड़ता है, जो मेरे मामले में प्रासंगिक नहीं है। धन्यवाद!
बेन

उत्तम। मेरे पुराने वेब फॉर्म प्रोजेक्ट में काम करता है जिसे मैं अब विज़ुअल स्टूडियो 2015 में संपादित कर रहा हूं। इसे प्यार करें। धन्यवाद।
bkwdesign

5
परीक्षण और वी। एस। 2015 पर काम कर रहे हैं। हालाँकि, मैं अभी भी समझ नहीं पा रहा हूँ कि "एडाप्ट ट्रांसफ़ॉर्म ट्रांसफ़ॉर्म" क्यों
ग्रे

20

मेरे मामले में, विज़ुअल स्टूडियो 2015 में, जब मैंने एक प्रोजेक्ट टेम्पलेट के आधार पर एक नया समाधान बनाया, तो ऐडवर्ड ट्रांसफ़ॉर्म को बाहर निकाल दिया गया - लेकिन एक अलग कारण के लिए:

"सभी फाइलें दिखाएं" पर क्लिक करने से पता चला कि फाइलें पहले से ही थीं - केवल छिपी हुई। इसलिए, बटन को बाहर निकाल दिया गया था (क्योंकि उन्हें जोड़ने की कोई आवश्यकता नहीं है क्योंकि वे पहले से ही वहां हैं)।

  1. "सभी फाइलें दिखाएं" आइकन पर क्लिक करें:
    यहाँ छवि विवरण दर्ज करें

  2. अब आप "Web.config" का विस्तार कर सकते हैं:
    यहाँ छवि विवरण दर्ज करें

  3. इसे खोलने और संपादित करने के लिए किसी भी ट्रांसफ़ॉर्म फाइल ( Web.Debug.configया Web.Release.config) पर डबल क्लिक करें।

टिप्पणियाँ:

  • मैं एक अतिरिक्त कॉन्फ़िगरेशन जोड़ना नहीं चाहता था, बस डिबग और रिलीज़ का उपयोग करें । यदि आप एक बनाते हैं, तो उसका चयन करें, और ट्रांसफ़ॉर्म फ़ाइल अभी तक मौजूद नहीं है, तो संदर्भ मेनू आइटम एडवांस ट्रांसफ़ॉर्म सक्रिय है और बाहर नहीं निकलता है।

  • यदि आप अतिरिक्त कॉन्फ़िगरेशन ट्रांसफ़ॉर्म फाइल्स बनाना चाहते हैं , तो ध्यान रखें कि विज़ुअल स्टूडियो में, कॉन्फिगरेशन ट्रांसफ़ॉर्म को कॉन्फ़िगरेशन के साथ सहसंबद्ध किया जाता है। एक और परिवर्तन जोड़ने के लिए, आपको पहले एक नया कॉन्फ़िगरेशन जोड़ना होगा। एक और जोड़ने के लिए, निम्न करें: कॉन्फ़िगरेशन प्रबंधक (ड्रॉपडाउन जहां आप डिबग या रिलीज़ का चयन कर सकते हैं) के माध्यम से, पहले एक नया कॉन्फ़िगरेशन जोड़ें, जैसे myNewConfig। फिर myNewConfig का चयन करें। अब समाधान एक्सप्लोरर में Web.config का चयन करें, राइट क्लिक करें और संदर्भ मेनू "Add Transform Transform" में चुनें - यह Web.myNewConfig.config बनाएगा। एक बार मौजूद होने के बाद, संदर्भ मेनू को फिर से धूसर कर दिया जाएगा, क्योंकि VS केवल प्रति कॉन्फ़िगरेशन एक परिवर्तन की अनुमति देता है।


मेरे लिए भी यही स्थिति थी। मैं चाहता था कि कॉन्फिगर ट्रांसफ़ॉर्म फाइल्स दिखाई दे सकें, इसलिए मैंने <DependentUpon>Web.config</DependentUpon>प्रोजेक्ट फाइल में टिप्पणी की । परिवर्तन अभी भी उम्मीद के मुताबिक काम करते हैं।
एथन

मैं नए कॉन्‍फ़‍िगरेशन को कैसे जोड़ सकता हूं?
रेशमा

@Reshma - विज़ुअल स्टूडियो में, कॉन्फिगरेशन के साथ कॉन्फिगर ट्रांसफ़ॉर्म होते हैं। कॉन्फ़िगरेशन प्रबंधक (ड्रॉपडाउन जहां आप डीबग या रिलीज़ का चयन कर सकते हैं) के माध्यम से, पहले एक नया कॉन्फ़िगरेशन जोड़ें, जैसे myNewConfig। फिर myNewConfig का चयन करें। अब Web.config का चयन करें, राइट क्लिक करें और संदर्भ मेनू में "कॉन्फिगर ट्रांसफॉर्म जोड़ें" चुनें - यह Web.myNewConfig.config बनाएगा।
मैट

मैंने वह मैट किया और एक कॉन्फिगर फाइल को जोड़ने में सक्षम था, लेकिन मैं एक और कॉन्फिगर फाइल को जोड़ने की कोशिश कर रहा हूं और अब फिर से "एडवर्टाइज ट्रांसफॉर्म जोड़ें" ग्रे हो गया है। मैंने अगली कॉन्फ़िगरेशन फ़ाइल के लिए नई कॉन्फ़िगरेशन फ़ाइल भी बनाई
रेशमा

1
@ राशमा - यह सही है, क्योंकि आपके पास प्रति विन्यास केवल एक हो सकता है। एक और प्राप्त करने के लिए, एक अतिरिक्त कॉन्फ़िगरेशन जोड़ें, कहते हैं, myNewConfig2। फिर myNewConfig2 चुनें और फिर से प्रयास करें। यह इस बार ग्रे नहीं होना चाहिए - इसे चुनें। नोट: जैसे ही उस विन्यास के लिए एक विन्यास फाइल मौजूद होगी, वह ग्रे हो जाएगा।
मैट

1

इस काम को करने के लिए मुझे अपने csproj फ़ाइल में नए संपत्ति समूहों को जोड़ना पड़ा।

Add config Transform किया गया था।

मैंने निम्नलिखित XML को अपने csproj में जोड़ा और परियोजना को पुनः लोड किया। फिर Add config Transform उपलब्ध था। एक बार चयनित होने के बाद मेरे जोड़ बदल दिए गए

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'IAT_CMCD|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'UAT_CM|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

1

मैंने दो चीजों को महसूस करके इसे हल किया:

  1. एक समाधान स्तर कॉन्फ़िगरेशन है, और प्रोजेक्ट स्तर कॉन्फ़िगरेशन हैं। Web.MyConfigName.config प्रोजेक्ट के आधार पर बनाया गया है स्तर कॉन्फ़िगरेशन गया है।
  2. ऐसा लगता है कि Visual Studio 2017 कॉन्फ़िगरेशन प्रबंधक आधार (छिपी हुई) obj फ़ोल्डर से जोड़ने के लिए कॉन्फ़िगर करता है। परियोजना के लिए obj फ़ोल्डर को हटाना और पुनर्निर्माण आपके द्वारा जोड़े गए कॉन्फ़िगरेशन के साथ परियोजना को अपडेट करेगा।

इन चरणों का अनुसरण करने के लिए विकल्प "ऐड इन कॉन्फिगर ट्रांसफ़ॉर्म" उपलब्ध करें:

  1. सुनिश्चित करें कि आपने सक्षम किया है हिडन फाइल्स दिखाने में
  2. के लिए खुला कॉन्फ़िगरेशन प्रबंधक समाधान के
  3. प्रासंगिक समाधान कॉन्‍फ़िगरेशन चुनें, फिर अपनी परियोजना के आगे ड्रॉपडाउन में चुनें <New..>या <Edit..>जोड़ें, निकालें या संपादित करें कि आपको कौन सा प्रोजेक्ट कॉन्फ़िगर करना है।
  4. अपनी परियोजना में obj फ़ोल्डर हटाएं। पुनर्निर्माण। सुनिश्चित करें कि आप अपनी परियोजना और समाधान फ़ाइलों में परिवर्तन सहेजते हैं। मैंने विजुअल स्टूडियो को भी फिर से शुरू किया, क्योंकि क्यों नहीं। सत्यापित करें कि आप अपने सभी प्रोजेक्ट को अपने obj फ़ोल्डर में फ़ोल्डर्स के रूप में कॉन्फ़िगर करते हैं।
  5. Web.config पर राइट-क्लिक करें और अपना कॉन्फ़िगरेशन परिवर्तन जोड़ें।

आशा है कि यह किसी की मदद करता है। :)


1

"कॉन्फ़िगर ट्रांसफ़ॉर्म जोड़ें" विकल्प को कैसे सक्षम करें। कृपया नीचे दिए गए चरणों का पालन करें। Step1: समाधान कॉन्फ़िगरेशन पर जाएं (टीम के नीचे) समाधान कॉन्फ़िगरेशन पर जाएं (टीम के नीचे)

Step2: कॉन्फ़िगरेशन प्रबंधक पर क्लिक करें पर क्लिक करें पर क्लिक करें

चरण 3: सक्रिय समाधान कॉन्फ़िगरेशन विंडो से नया चुनें सक्रिय समाधान कॉन्फ़िगरेशन विंडो से नया चुनें

Step4: अब अपने नए आइटम जैसे उत्पादन / मंचन को सार्थक नाम दें और "रिलीज़" विकल्प से कॉपी सेटिंग चुनें। सुनिश्चित करें कि आपने चेकबॉक्स को चेक किया है यदि वह डिफ़ॉल्ट रूप से चेक नहीं कर रहा है और ओके पर क्लिक करें। अब अपने नए आइटम को सार्थक नाम दें जैसे प्रोडक्शन / स्टेजिंग

Step5: अब अपने सोल्यूशन एक्सप्लोरर पर वापस जाएं और अपनी Web.Config फाइल पर राइट क्लिक करें। अब कॉन्फ़िगर ट्रांसफ़ॉर्म जोड़ें सक्षम है

होला! अब कॉन्फ़िगर ट्रांसफ़ॉर्म जोड़ें सक्षम है। :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.