স্লোচিথাহ প্লাগইন ব্যবহার করুন । আরও বিকল্প এবং স্লোচিথ ব্যবহার কীভাবে করবেন তার বিশদ জন্য পড়তে থাকুন।
আপনি ইতিমধ্যে লক্ষ্য করেছেন, লাইব্রেরি টাইপ (.dll) প্রকল্পের জন্য আলাদা কনফিগার ফাইল ব্যবহার করার কোনও ডিফল্ট এবং সহজ উপায় নেই । কারণটি হ'ল বর্তমান চিন্তাভাবনা: "আপনার দরকার নেই"! ফ্রেমওয়ার্ক বিকাশকারীগণ নির্বাহযোগ্য ফাইলের জন্য আপনার কনফিগারেশন প্রয়োজন গণ্য করুন: এটি কনসোল, ডেস্কটপ, ওয়েব, মোবাইল অ্যাপ্লিকেশন বা অন্য কিছু হোক। আপনি যদি কোনও ডিলের জন্য কনফিগারেশন সরবরাহ করা শুরু করেন তবে আপনি এমন কোনও কিছু দিয়ে শেষ করতে পারেন যা আমি কনফিগারকে নরক বলতে পারি । আপনি আর বুঝতে পারবেন না (সহজেই) কেন এবং কেন এই ভেরিয়েবলগুলির এমন অদ্ভুত মানগুলি কোথাও থেকে আপাতদৃষ্টিতে আসছে।
"ধরুন", - আপনি বলতে পারেন, "তবে আমার একীকরণ / ইউনিট পরীক্ষার জন্য এটি আমার প্রয়োজন, এবং এটি একটি গ্রন্থাগার!"! এবং এটি সত্য এবং এটিই আপনি করতে পারেন (কেবল একটি বেছে নিন, মিশ্রণ করবেন না):
1. স্লোচিটঃ বর্তমান কনফিগারেশন ফাইলকে রূপান্তর করে
আপনি স্লোলচিটা ইনস্টল করতে পারেন - একটি ভিজ্যুয়াল স্টুডিও প্লাগ-ইন যা আপনার জন্য সমস্ত নিম্ন স্তরের এক্সএমএল পোকিং (বা রূপান্তর) করে। এটি যেভাবে কাজ করে, সংক্ষেপে:
- স্লোচিঠি ইনস্টল করুন এবং ভিজ্যুয়াল স্টুডিও পুনরায় চালু করুন (ভিজ্যুয়াল স্টুডিও> সরঞ্জামসমূহ> এক্সটেনশানস এবং আপডেট ...> অনলাইন> ভিজ্যুয়াল স্টুডিও গ্যালারী> "ধীর চিতা" অনুসন্ধান করুন)
- আপনার সমাধান কনফিগারেশনগুলি সংজ্ঞায়িত করুন ( ডিফল্ট হিসাবে ডিবাগ এবং রিলিজ রয়েছে), আপনি আরও যুক্ত করতে পারেন ( সমাধান এক্সপ্লোরার > কনফিগারেশন ম্যানেজারে সমাধানটিতে ডান ক্লিক করুন ... > সক্রিয় সমাধান কনফিগারেশন > নতুন ...
- প্রয়োজনে একটি কনফিগার ফাইল যুক্ত করুন
- কনফিগারেশন ফাইল> অ্যাড ট্রান্সফর্ম এ ডান ক্লিক করুন
- এটি রূপান্তর ফাইল তৈরি করবে - আপনার কনফিগারেশনের জন্য একটি one
- ফাইলগুলি ইনজেক্টর / মিউটর হিসাবে কাজ করে, তারা মূল কনফিগার ফাইলে প্রয়োজনীয় এক্সএমএল কোড খুঁজে পায় এবং নতুন লাইন ইনজেক্ট করে বা প্রয়োজনীয় মান পরিবর্তন করে, আপনি যা যা করতে বলুন তাই করুন
2. .proj ফাইল সহ ফিডল - সম্পূর্ণ নতুন কনফিগার ফাইলটির অনুলিপি-নামকরণ করে
মূলত এখান থেকে তোলা । এটি একটি কাস্টম এমএসবিল্ড টাস্ক যা আপনি ভিজ্যুয়াল স্টুডিও .proj ফাইলে এম্বেড করতে পারেন । প্রকল্পের ফাইলটিতে নিম্নলিখিত কোডটি অনুলিপি করুন এবং আটকান
<Target Name="AfterBuild">
<Delete Files="$(TargetDir)$(TargetFileName).config" />
<Copy SourceFiles="$(ProjectDir)\Config\App.$(Configuration).config"
DestinationFiles="$(TargetDir)$(TargetFileName).config" />
</Target>
এখন প্রজেক্টে একটি ফোল্ডার তৈরি Config
করুন এবং সেখানে নতুন ফাইল যুক্ত করুন: App.Debug.config , App.Release.config এবং আরও অনেক কিছু। এখন, আপনার কনফিগারেশনের উপর নির্ভর করে ভিজ্যুয়াল স্টুডিও একটি Config
ফোল্ডার থেকে কনফিগার ফাইলটি বেছে নেবে এবং আউটপুট ডিরেক্টরিতে এটির অনুলিপি-নামকরণ করবে। সুতরাং আপনার যদি প্যাটার্নপিএ.স্টেস্ট.ইন্টিগ্রেশন প্রকল্প এবং একটি ডিবাগ কনফিগারেশন নির্বাচিত থাকে তবে বিল্ডের পরে আউটপুট ফোল্ডারে আপনি একটি প্যাটার্নপিএ.স্টেস্ট.ইন্টেগ্রেশন.ডিলসিএনফিগ ফাইল পাবেন যা অনুলিপি করে Config\App.Debug.config
পরে নামকরণ করা হয়েছিল।
এগুলি কয়েকটি নোট যা আপনি কনফিগার ফাইলগুলিতে রেখে যেতে পারেন
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- This file is copied and renamed by the 'AfterBuild' MSBuild task -->
<!-- Depending on the configuration the content of projectName.dll.config
is fully substituted by the correspondent to build configuration file
from the 'Config' directory. -->
</configuration>
ভিজ্যুয়াল স্টুডিওতে আপনার এমন কিছু থাকতে পারে
৩. ভিজ্যুয়াল স্টুডিওর বাইরে স্ক্রিপ্টিং ফাইলগুলি ব্যবহার করুন
প্রতিটি বিল্ড টুল (যেমন ন্যান্ট , এমএসবিল্ড ) কনফিগারেশনের উপর নির্ভর করে কনফিগার ফাইল ফাইল রূপান্তর করতে সক্ষমতা সরবরাহ করবে। আপনি যদি কোনও বিল্ড মেশিনে আপনার সমাধানটি তৈরি করেন তবে এটি কার্যকর হয়, যেখানে পণ্যটি মুক্তির জন্য কীভাবে এবং কীভাবে প্রস্তুত করা যায় তার উপর আপনার আরও নিয়ন্ত্রণ থাকতে হবে।
উদাহরণস্বরূপ আপনি কোনও কনফিগার ফাইলকে রূপান্তর করতে ওয়েব প্রকাশনা ডেলির কাজটি ব্যবহার করতে পারেন
<UsingTask AssemblyFile="..\tools\build\Microsoft.Web.Publishing.Tasks.dll"
TaskName="TransformXml"/>
<PropertyGroup>
<!-- Path to input config file -->
<TransformInputFile>path to app.config</TransformInputFile>
<!-- Path to the transformation file -->
<TransformFile>path to app.$(Configuration).config</TransformFile>
<!-- Path to outptu web config file -->
<TransformOutputFile>path to output project.dll.config</TransformOutputFile>
</PropertyGroup>
<Target Name="transform">
<TransformXml Source="$(TransformInputFile)"
Transform="$(TransformFile)"
Destination="$(TransformOutputFile)" />
</Target>