দুর্দান্ত প্রশ্ন। আমি এই সম্পর্কে ওয়েব ডিপ্লোমেন্ট সরঞ্জামে (এমএসডিপপ্লয়) একটি খুব বিস্তারিত ব্লগ এন্ট্রি পোস্ট করেছি : অতিরিক্ত ফাইল বা নির্দিষ্ট ফাইলগুলি বাদ দিয়ে প্যাকেজ তৈরি করুন ।
এখানে সংক্ষিপ্তসার। ফাইলগুলি অন্তর্ভুক্ত করার পরে, আমি কীভাবে ফাইলগুলিও বাদ দিতে পারি তা দেখাই।
অতিরিক্ত ফাইল সহ
প্যাকেজে অতিরিক্ত ফাইলগুলি অন্তর্ভুক্ত করা কিছুটা শক্ত তবে আপনি যদি এমএসবিল্ডের সাথে স্বাচ্ছন্দ্য বোধ করেন তবে বিগ নেই এবং যদি আপনি না হন তবে এটি পড়ুন। এটি করার জন্য আমাদের প্রক্রিয়াটির যে অংশটি প্যাকেজিংয়ের জন্য ফাইলগুলি সংগ্রহ করে তার অংশে প্রবেশ করতে হবে। আমাদের যে লক্ষ্যটি প্রসারিত করতে হবে তার নাম কপিএলএফএলফিটসসোসিংফোল্ডার। এই টার্গেটটির একটি নির্ভরতার সম্পত্তি রয়েছে, পাইপলাইনপ্রেডপ্লোইকপিআলফাইলসটোওফোনারডিপেন্ডসঅন, যা আমরা আমাদের নিজস্ব লক্ষ্যটিতে ট্যাপ করে ইনজেক্ট করতে পারি ject সুতরাং আমরা কাস্টমকোলেক্টফাইলস নামে একটি লক্ষ্য তৈরি করব এবং এটি প্রক্রিয়াতে ইনজেক্ট করব। আমরা নিম্নলিখিতটি দিয়ে এটি অর্জন করি (আমদানির বিবরণের পরে মনে রাখবেন)।
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForMsdeployDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
এটি প্রক্রিয়াটিতে আমাদের লক্ষ্য যুক্ত করবে, এখন আমাদের লক্ষ্যটি নিজেরাই নির্ধারণ করতে হবে। আসুন ধরে নেওয়া যাক আপনার কাছে অতিরিক্ত ফাইল নামে একটি ফোল্ডার রয়েছে যা আপনার ওয়েব প্রকল্পের 1 স্তরের উপরে বসে। আপনি এই সমস্ত ফাইল অন্তর্ভুক্ত করতে চান। এখানে কাস্টমকোলেক্টফাইলস লক্ষ্য এবং আমরা তার পরে আলোচনা করব।
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="..\Extra Files\**\*" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>Extra Files\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
এখানে আমি যা করেছি তা _CustomFiles আইটেমটি তৈরি করা হয়েছিল এবং অন্তর্ভুক্ত বৈশিষ্ট্যে এটি ফোল্ডারে থাকা সমস্ত ফাইল এবং এর নীচে যে কোনও ফোল্ডারটি তুলতে বলেছিল told যদি কোনও সুযোগে আপনাকে সেই তালিকা থেকে কিছু বাদ দিতে হয় তবে একটি Exclude
বৈশিষ্ট্য যুক্ত করুন _CustomFiles
।
তারপরে আমি এই আইটেমটি ফাইলফোরপ্যাকেজিংফ্রমপ্রজেক্ট আইটেমটি পপুলেট করতে ব্যবহার করি। এটি MSDeploy আসলে অতিরিক্ত ফাইল যুক্ত করতে ব্যবহার করে item এছাড়াও লক্ষ্য করুন যে আমি মেটাটাটা ডেস্টিনেশন রিলেটিভপথ মান ঘোষণা করেছিলাম। এটি প্যাকেজটিতে যে আপেক্ষিক পথটি স্থাপন করবে তা নির্ধারণ করবে। আমি এখানে অতিরিক্ত ফাইল% (রিক্রুসিভডির)% (ফাইলের নাম)% (এক্সটেনশন) বিবৃতিটি ব্যবহার করেছি। এটি যা বলছে তা হ'ল এটি অতিরিক্ত ফাইল ফোল্ডারের অধীনে প্যাকেজে একই আপেক্ষিক স্থানে স্থাপন করা।
ফাইল বাদে
আপনি যদি নীচের দিকে ভিএস ২০১০ দিয়ে তৈরি ওয়েব অ্যাপ্লিকেশনটির প্রকল্প ফাইলটি খুলেন তবে এর সাথে একটি লাইন পাবেন।
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
বিটিডাব্লু আপনি ভিএস এর ভিতরে প্রকল্প ফাইলটি খুলতে পারেন প্রকল্পটি আনডলোড প্রকল্পে ডান ক্লিক করুন। তারপরে আনলোড হওয়া প্রকল্পে ডান ক্লিক করুন এবং সম্পাদনা প্রকল্পটি নির্বাচন করুন।
এই বিবৃতিতে আমাদের প্রয়োজন সমস্ত লক্ষ্য এবং কাজ অন্তর্ভুক্ত করবে। আমাদের কাস্টমাইজেশনগুলির বেশিরভাগটি সেই আমদানির পরে হওয়া উচিত, যদি আপনি নিশ্চিত না হন তবে পরে রাখুন! সুতরাং যদি আপনার কাছে এই ফাইলটি বাদ দেওয়ার জন্য একটি আইটেমের নাম থাকে, এক্সক্লুডফ্রমপ্যাকেজফিলস, এটি করতে ব্যবহৃত হতে পারে। উদাহরণস্বরূপ বলা যাক যে আপনার কাছে নমুনা.ডেবগ.এক্সএমএল নামের ফাইল রয়েছে যা আপনার ওয়েব অ্যাপ্লিকেশনটিতে অন্তর্ভুক্ত রয়েছে তবে আপনি চান যে ফাইলটি তৈরি প্যাকেজগুলি থেকে বাদ দেওয়া হোক। আপনি এই আমদানির বিবৃতি পরে নীচে স্নিপেট রাখতে পারেন।
<ItemGroup>
<ExcludeFromPackageFiles Include="Sample.Debug.xml">
<FromTarget>Project</FromTarget>
</ExcludeFromPackageFiles>
</ItemGroup>
এই আইটেমটি জনবহুল হিসাবে ঘোষণার মাধ্যমে ফাইলগুলি স্বয়ংক্রিয়ভাবে বাদ দেওয়া হবে। FromTarget
এখানে মেটাডেটার ব্যবহার নোট করুন। আমি এখানে notুকব না, তবে আপনাকে সর্বদা এটি নির্দিষ্ট করতে হবে।