C#: एक कंसोल या विंडोज़ एप्लिकेशन के लिए कई कॉन्फ़िगरेशन का परिवर्तन

जो लोग ASP.Net में WEB करते हैं, वे Config के कई फ़ाइलों के सिद्धांत को जानते हैं:

Web.Config
Web.Debug.Config
Web.Release.Config

Web.Config फ़ाइल आपके अपने विकास के लिए है, Web.Debug.Config फ़ाइल TEST या DEV संस्करण के लिए है (उदाहरण के लिए किसी अन्य सर्वर पर) और Release संस्करण PRODUCTION सर्वर के लिए है।

लेकिन एक Console या Winform एप्लिकेशन के लिए, Config के कई फ़ाइलों का यह विकल्प मौजूद नहीं है, कम से कम हाथ में नहीं। मैं आपको दिखाऊंगा कि एक Console या Winform या WPF एप्लिकेशन में इस विकल्प को कैसे जोड़ें।

सटीक तरीके से चरणों का पालन करें:

1. Visual Studio में अपने App.Config के नीचे एक App.Debug.Config या App.Release.Config फ़ाइल बनाएं

2. अपने प्रोजेक्ट पर राइट-क्लिक करें और "Unload Project" पर क्लिक करें (अंग्रेजी में), मुझे फ्रेंच में अनुवाद नहीं पता लेकिन यह कुछ ऐसा होना चाहिए जैसे "प्रोजेक्ट को अनलोड करें"

3. फिर प्रोजेक्ट पर, राइट-क्लिक करें और "Edit" या "Editer" .csproj या .vbproj पर क्लिक करें

4. अंतिम PropertyGroup : के नीचे ये पंक्तियाँ कॉपी करें:

 
 
 
<PropertyGroup>
  <ProjectConfigFileName>App.config</ProjectConfigFileName>
</PropertyGroup>

5. जहाँ <None Include="App.Config" /> (आप इसे खोज रहे हैं) है, उसे संशोधित करें और निम्नलिखित ब्लॉक <None  Include="App.Debug.Config"> को ItemGroup, में जोड़ें, बेशक यदि आप केवल एक अतिरिक्त Config फ़ाइल का उपयोग कर रहे हैं या कई, यह आपके ऊपर है कि आप उन नए ब्लॉकों को डालें जो आपकी फ़ाइलों से मेल खाते हैं और नाम बदलना न भूलें:

 
 
 
 
 
 
 
 
 
<ItemGroup>
   <NoneInclude="App.config"/>
   <NoneInclude="App.Debug.config">
     <DependentUpon>App.config</DependentUpon>
   </None>
   <NoneInclude="App.Release.config">
     <DependentUpon>App.config</DependentUpon>
   </None>
 </ItemGroup>

6. अंतिम Import टैग के नीचे इसे कॉपी करें:

 
<ImportProject="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v15.0\Web\Microsoft.Web.Publishing.targets"/>

Visual Studio 2017 के लिए, यह संस्करण v15.0 है, लेकिन यदि आप Visual Studio 2019 का उपयोग कर रहे हैं, तो आप v15.0 को v16.0 से बदल देंगे (VS2015 के लिए = v14.0 और VS2013 के लिए = v12.0)

आप अपने PC पर यहां अपने Visual Studio का संस्करण भी देख सकते हैं: 

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v[आपका VISUAL STUDIO संस्करण]\Web\Microsoft.Web.Publishing.targets

7. अपने फ़ाइल के अंत में </Project> टैग से पहले यह जोड़ें

 
 
 
<TargetName="AfterBuild">
  <TransformXmlSource="@(AppConfigWithTargetPath)"Transform="$(ProjectConfigTransformFileName)"Destination="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" />
</Target>

8. सब कुछ सहेजें और अपने प्रोजेक्ट को फिर से लोड करें

9. ASP.Net की तरह, अपने नए Config फ़ाइल में प्रत्येक तत्व के बाद xdt:Transform="SetAttributes" xdt:Locator="Match(name)" टैग डालना न भूलें और xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"

एक उदाहरण:

 
<?xmlversion="1.0"?>
 
  <appSettings>
    <addkey="Mode"value="Debug"xdt:Transform="Insert"/>
    <addkey="MyKey"value="123456"xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
  </appSettings>
 
    <connectionStrings>
      <add name="MyDB"
        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
    </connectionStrings>
</configuration >
 
Join the conversation

You need an account to comment on this article. Creating one is free and takes under a minute.

  • The XMLTV file, free to download every day
  • Comment on articles and reply to other readers
  • Get an e-mail when an article you follow is updated

No comments yet.

Une erreur s'est produite. Cette application peut ne plus répondre jusqu'à ce qu'elle soit rechargée.Veuillez contacter l'auteur. Reload 🗙