আমি বেশ কয়েকটি সমাধান চেষ্টা করেছিলাম এবং এখানে ব্যক্তিগতভাবে আমি খুঁজে পাওয়া সবচেয়ে সহজ।
ড্যান মন্তব্য উল্লেখ করেছিলেন যে, আসল পোস্ট জন্যে ওলেগ Sych - ধন্যবাদ, ওলেগ!
এখানে নির্দেশাবলী:
1. প্রকল্পে প্রতিটি কনফিগারেশনের জন্য একটি এক্সএমএল ফাইল যুক্ত করুন।
সাধারণত আপনি হবে Debug
এবং Release
কনফিগারেশনের তাই আপনার ফাইল নাম App.Debug.config
এবং App.Release.config
। আমার প্রকল্পে, আমি প্রতিটি ধরণের পরিবেশের জন্য একটি কনফিগারেশন তৈরি করেছি, যাতে আপনি এটি ব্যবহার করতে চাইতে পারেন।
2. প্রকল্পটি আনলোড করুন এবং সম্পাদনার জন্য .csproj ফাইলটি খুলুন
ভিজ্যুয়াল স্টুডিও আপনাকে সম্পাদকের ডানদিকে .csproj ফাইল সম্পাদনা করার অনুমতি দেয় — আপনাকে প্রথমে প্রকল্পটি আনলোড করা দরকার। তারপরে এটিতে ডান ক্লিক করুন এবং সম্পাদনা <প্রজেক্টনাম> .csproj নির্বাচন করুন ।
3. অ্যাপ্লিকেশনটি আবদ্ধ করুন। * প্রধান অ্যাপ্লিকেশন কনফিগ ফাইল কনফিগার করুন
প্রজেক্ট ফাইল বিভাগটি সন্ধান করুন যাতে সমস্ত App.config
এবং App.*.config
রেফারেন্স রয়েছে । আপনি লক্ষ্য করবেন যে তাদের বিল্ড ক্রিয়াগুলি এতে সেট করা রয়েছে None
:
<None Include="App.config" />
<None Include="App.Debug.config" />
<None Include="App.Release.config" />
প্রথমে তাদের সবার জন্য বিল্ড অ্যাকশন সেট করুন Content
।
এরপরে, সমস্ত কনফিগারেশন-নির্দিষ্ট ফাইলগুলি মূলের উপর নির্ভরশীল করে তুলুন App.config
যাতে ভিজ্যুয়াল স্টুডিওগুলি সেগুলি যেমন ডিজাইনার এবং কোড-পেছনের ফাইলগুলি পছন্দ করে তাদের গোষ্ঠী করে।
উপরের এক্সএমএলকে নীচের সাথে পরিবর্তন করুন:
<Content Include="App.config" />
<Content Include="App.Debug.config" >
<DependentUpon>App.config</DependentUpon>
</Content>
<Content Include="App.Release.config" >
<DependentUpon>App.config</DependentUpon>
</Content>
৪. রূপান্তর যাদুটি সক্রিয় করুন (শুধুমাত্র ভিসুয়াল স্টুডিওর পূর্ববর্তী ভিএস ২০১7 এর জন্য প্রয়োজনীয় )
ফাইলের শেষে
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
এবং ফাইনালের আগে
</Project>
নিম্নলিখিত XML প্রবেশ করান:
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.Tasks.dll" />
<Target Name="CoreCompile" Condition="exists('app.$(Configuration).config')">
<!-- Generate transformed app config in the intermediate directory -->
<TransformXml Source="app.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="app.$(Configuration).config" />
<!-- Force build process to use the transformed configuration file from now on. -->
<ItemGroup>
<AppConfigWithTargetPath Remove="app.config" />
<AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config">
<TargetPath>$(TargetFileName).config</TargetPath>
</AppConfigWithTargetPath>
</ItemGroup>
</Target>
এখন আপনি প্রকল্পটি পুনরায় লোড করতে পারেন, এটি তৈরি করতে এবং App.config
রূপান্তর উপভোগ করতে পারেন !
অবগতির জন্য
আপনার App.*.config
ফাইলগুলির ঠিক মতো সেটআপ রয়েছে তা নিশ্চিত করুন :
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--magic transformations here-->
</configuration>