ভিজ্যুয়াল স্টুডিও প্রকল্পের বৈশিষ্ট্যগুলিতে বিভিন্ন "বিল্ড অ্যাকশন" সেটিংস কী এবং তারা কী করে?


843

বেশিরভাগ অংশের জন্য, আপনি কেবল ভিজুয়াল স্টুডিও যা আপনার জন্য এটি ডিফল্ট হিসাবে সেট করে নিন ... আমি সলিউশন এক্সপ্লোরারে নির্বাচিত প্রতিটি ফাইলের জন্য বিল্ডএকশন সম্পত্তিটি উল্লেখ করছি । অনেকগুলি বিকল্প রয়েছে এবং তাদের প্রত্যেকের কী করবে তা জানা মুশকিল।

উত্তর:


1014
  • কোনওটি নয় : ফাইলটি প্রকল্পের আউটপুট গোষ্ঠীতে অন্তর্ভুক্ত নয় এবং বিল্ড প্রক্রিয়াতে সংকলিত হয় না। একটি উদাহরণ একটি পাঠ্য ফাইল যা ডকুমেন্টেশন রয়েছে যেমন একটি রিডমি ফাইল।

  • কম্পাইল : ফাইল বিল্ড আউটপুট মধ্যে কম্পাইল করা হয়। এই সেটিংটি কোড ফাইলগুলির জন্য ব্যবহৃত হয়।

  • সামগ্রী : অ্যাপ্লিকেশন.গেটকন্টেন্টস্ট্রিম (ইউআরআই) এর মাধ্যমে আপনাকে একটি ফাইল (সমাবেশ হিসাবে একই ডিরেক্টরিতে) স্ট্রিম হিসাবে পুনরুদ্ধার করার অনুমতি দেয়। এই পদ্ধতিটি কাজ করার জন্য, এটি একটি অ্যাসেম্বলি অ্যাসোসিয়েটেড কনটেন্টফিল কাস্টম বৈশিষ্ট্য প্রয়োজন যা ভিজ্যুয়াল স্টুডিও যখন দয়া করে কোনও ফাইলকে "বিষয়বস্তু" হিসাবে চিহ্নিত করেন তখন দয়া করে যোগ করে

  • এম্বেড করা রিসোর্স : একচেটিয়া সমাবেশ ম্যানিফেস্ট রিসোর্সে ফাইল এম্বেড করে।

  • রিসোর্স (কেবলমাত্র ডাব্লুপিএফ) : একটি ভাগ করে ফাইলগুলিতে এম্বেড করে (একই ধরণের সেটিং সহ অ্যাসেমব্লির সমস্ত ফাইল দ্বারা) অ্যাসেমনিটি ম্যানিফিকেট রিসোর্স নামে অ্যাপনাম।

  • পৃষ্ঠা (কেবলমাত্র ডাব্লুপিএফ) : এতে একটি xamlফাইল সংকলন করতে ব্যবহৃত হয় bamlbamlতারপর হিসাবে একই কৌশল নিয়ে এমবেড করা হয় Resource(যেমন `AppName.g.resources যেমন উপলব্ধ)

  • অ্যাপ্লিকেশন ডেফিনিশন (কেবলমাত্র ডাব্লুপিএফ) : আপনার অ্যাপ্লিকেশনটিকে সংজ্ঞায়িত করে এক্সএএমএল / শ্রেণি ফাইলটি চিহ্নিত করুন। আপনি x: Class = "Namespace.ClassName" দিয়ে কোড-পেছন নির্দিষ্ট করে স্টার্টআপ ফর্ম / পৃষ্ঠাটি স্টার্টআপউরি = "উইন্ডো 1.xaml" দিয়ে সেট করেছেন

  • স্প্ল্যাশস্ক্রিন (কেবলমাত্র ডাব্লুপিএফ ) : একটি ডাব্লুপিএফ অ্যাপ্লিকেশন লোড হওয়ার পরে চিহ্নিত চিত্রটি SplashScreen স্বয়ংক্রিয়ভাবে প্রদর্শিত হয় এবং তারপরে বিবর্ণ হয়

  • ডিজাইনডাটা : এক্সএএমএল ভিউ মডেলগুলি সংকলন করে যাতে ভিজ্যুয়াল স্টুডিওতে ব্যবহারকারীর নিয়ন্ত্রণগুলি নমুনা ডেটার সাথে পূর্বরূপ দেখতে পারা যায় (মক প্রকারগুলি ব্যবহার করে)

  • ডিজাইনডাটা উইথডিজাইনটাইমক্রিয়াটেল টাইপস : এক্সএএমএল ভিউ মডেলগুলি সংকলন করে যাতে ভিজ্যুয়াল স্টুডিওতে ব্যবহারকারীর নিয়ন্ত্রণগুলি নমুনা ডেটার সাথে প্রাকদর্শন করা যায় (প্রকৃত ধরণের ব্যবহার করে)

  • সত্তা ডিপ্লোয় : (সত্তা ফ্রেমওয়ার্ক) : সত্তা ফ্রেমওয়ার্ক নিদর্শনগুলি স্থাপন করতে ব্যবহৃত

  • কোডএনালাইসিস অভিধান: বানানের বিধিগুলির জন্য কাস্টম শব্দের অভিধান সহ একটি এক্সএমএল ফাইল


9
" ডিজাইনডেটা " " ব্লেন্ডাবিলিটি " এর জন্য ব্যবহৃত হয়, আপনাকে ডাব্লুপিএফ মার্ক-আপ ভিত্তিক ডেটা যুক্ত করতে দেয়, যা সঠিক সেটিংস প্রয়োগ করা হয়, তারপরে ডিজাইনের সময় দেখানো হয়।
পিগল্যা’র

6
এছাড়াও নোট করুন যে ওয়ান-ক্লিক ডিপ্লয় ব্যবহার করার সময় সামগ্রী অন্তর্ভুক্ত করা হবে, তবে "নতুন যদি অনুলিপি নির্বাচন করা হয় তবে" কোনওটিই হবে না।
ড্যাক্স ফোহাল

4
জাল, কোডঅ্যানালাইসিস ডিকোরিয়ালিটি এবং এক্সএলএলএপিআরফ সম্পর্কে কী?
ক্রোনো

1
@jxramos এই তথ্যটি প্রকল্পের ফাইলে সংরক্ষণ করা হয়েছে।
টোবিয়াস

18
কি হবে AdditionalFiles? আমি এটি ভিএস 2015 এ দেখছি কিন্তু এর জন্য কোনও রেফারেন্স খুঁজে পাইনি।
হলিস্টিক বিকাশকারী

111

ডকুমেন্টেশন থেকে:

বিল্ডএকশন সম্পত্তিটি নির্দেশ করে যে কোনও বিল্ড কার্যকর করা হলে ভিজ্যুয়াল স্টুডিও একটি ফাইলের সাথে কী করে। বিল্ডএকশনের বেশ কয়েকটি মান থাকতে পারে:

কিছুই নয় - ফাইলটি প্রকল্পের আউটপুট গ্রুপে অন্তর্ভুক্ত নয় এবং বিল্ড প্রক্রিয়াতে সংকলিত হয় না। একটি উদাহরণ একটি পাঠ্য ফাইল যা ডকুমেন্টেশন রয়েছে যেমন একটি রিডমি ফাইল।

সংকলন - ফাইলটি বিল্ড আউটপুটে সংকলিত হয়। এই সেটিংটি কোড ফাইলগুলির জন্য ব্যবহৃত হয়।

সামগ্রী - ফাইলটি সংকলিত নয়, তবে সামগ্রী আউটপুট গ্রুপে অন্তর্ভুক্ত রয়েছে। উদাহরণস্বরূপ, এই সেটিংটি .htm বা অন্য ধরণের ওয়েব ফাইলের জন্য ডিফল্ট মান।

এম্বেডেড রিসোর্স - এই ফাইলটি একটি প্রধান প্রকল্প বিল্ড আউটপুটকে ডিএলএল বা এক্সিকিউটেবল হিসাবে এম্বেড করা হয়েছে। এটি সাধারণত রিসোর্স ফাইলের জন্য ব্যবহৃত হয়।


1
মজাদার! আমি VS2008 ইনস্টল করেছি, আমি অবাক হয়েছি কেন তারা আমার ডকুমেন্টেশনে হাজির হয়নি?
পল বাতুম

পিআরআই সংস্থান সম্পর্কে কি?
ইয়াওয়ার

1
@ পলব্যাটম আপনি কি এই উদ্ধৃত সংজ্ঞাটির জন্য রেফারেন্স ?োকাতে পারবেন?
রাজন প্রসাদ

@ রেমন্ড ২৩২: উদ্ধৃত সংজ্ঞাটি কী?
পিটার মর্টেনসেন

1
@ পলব্যাটম: হ্যাঁ, অবশ্যই রেফারেন্সটি দুর্দান্ত লাগবে। উত্তরটি "ডকুমেন্টেশন থেকে" দিয়ে শুরু হয় তাই এই ডকুমেন্টেশনের একটি লিঙ্ক প্রশংসা করা হবে।
মার্ক

35

পৃষ্ঠা - নির্দিষ্ট এক্সএএমএল ফাইলটি নিয়ে যায় এবং বিএএমএল-এ সংকলন করে এবং সেই আউটপুটটিকে আপনার সমাবেশের জন্য পরিচালিত রিসোর্স স্ট্রিমের মধ্যে এম্বেড করে (বিশেষত એસেম্বলনাম.সোর্সেস), এরপরে, যদি আপনার মধ্যে মূল এক্সএএমএল উপাদানটিতে উপযুক্ত বৈশিষ্ট্য থাকে ফাইল, এটি একটি blah.g.cs ফাইল তৈরি করবে, যাতে এই পৃষ্ঠার জন্য "কোডবিহাইন্ড" এর একটি আংশিক শ্রেণি থাকবে; এটিতে মেমরিতে ফাইলটিকে পুনরায় হাইড্রেট করতে, এবং আপনার শ্রেণীর যে কোনও সদস্যের ভেরিয়েবলকে এখন তৈরি করা আইটেমগুলিতে সেট করার জন্য মূলত: বিএএমএল গোপকে একটি কল অন্তর্ভুক্ত করা হয়েছে (উদাহরণস্বরূপ যদি আপনি কোনও আইটেমের উপর x: Name = "foo" রাখেন) , আপনি এটি করতে সক্ষম হবেন.ফু.ব্যাকগ্রাউন্ড = বেগুনি বা অনুরূপ।

অ্যাপ্লিকেশন ডেফিনিশন - পৃষ্ঠার অনুরূপ, এটি জাস্ট স্টেপ ফার্থারে চলে যায় এবং আপনার অ্যাপ্লিকেশনটির জন্য এন্ট্রি পয়েন্টটি সংজ্ঞায়িত করে যা আপনার অ্যাপ্লিকেশন অবজেক্টটি ইনস্ট্যান্ট করবে, তার উপর রান কল করবে, যা স্টার্টআপ ইউরি সম্পত্তি দ্বারা সেট করা টাইপটি ইনস্ট্যান্ট করবে এবং আপনার মূল উইন্ডোটি দেবে ।

এছাড়াও, স্পষ্ট করে বলতে গেলে, সামগ্রিকভাবে এই প্রশ্নটি ফলাফল নির্ধারণে প্রসারিত হবে; যে কোনও ব্যক্তি কেবল একটি এমএসবিল্ড টাস্ক তৈরি করে অতিরিক্ত বিল্ডএকশনগুলি সংজ্ঞায়িত করতে পারে। আপনি যদি% সিস্টেমরোট% \ মাইক্রোসফট.ন. \ ফ্রেমওয়ার্ক \ v {সংস্করণ \ ডিরেক্টরিটি দেখেন এবং মাইক্রোসফট.কমন.টারগেটস ফাইলটি দেখেন তবে আপনাকে আরও অনেকগুলি বোঝাতে সক্ষম হবেন (উদাহরণস্বরূপ, ভিএস প্রো এবং উপরে, একটি "ছায়া" ক্রিয়া রয়েছে যা আপনাকে বেসরকারী ক্লাসিকে বেসরকারী ক্লাস পরীক্ষার ক্ষেত্রে সহায়তা করার জন্য প্রাইভেট অ্যাক্সেসরগুলি তৈরি করতে দেয়।


আমি আশা করি আপনি কিছু মনে করবেন না যে আমি আপনার উত্তরটির কিছু অংশ গিশুর উত্তরে অনুলিপি করেছিলাম যাতে আরও সম্পূর্ণ রেফারেন্স উত্তর পাওয়া যায়।
ইয়ান বয়ড

32

ভিএস 2010 এর 'বিল্ড অ্যাকশন', এবং 'অনুলিপিতে আউটপুট ডিরেক্টরিতে অনুলিপি'র সম্পত্তি রয়েছে। সুতরাং অনুলিপিটি 'নতুন কিছু নয়' বা 'সর্বদা অনুলিপি করুন' অনুলিপি করা থাকলে অনুলিপি তৈরির ডিরেক্টরিতে অনুলিপি করা হবে None

সুতরাং আপনি 'অ্যাপ্লিকেশন.গেট কনটেন্ট স্ট্রিম' এর মাধ্যমে যে সামগ্রীটি অ্যাক্সেস করতে পারবেন তা নির্দেশ করতে 'সামগ্রী' এর একটি বিল্ড অ্যাকশন সংরক্ষণ করা উচিত

কিছু 'বাহ্যিকভাবে লিঙ্কযুক্ত .কনফিগের জন্য আমি' কিছুই নয় 'এর' বিল্ড অ্যাকশন 'সেটিং এবং' অনুলিপি ডাইরকোট্রি অনুলিপি 'এর সেটিং ব্যবহার করেছি' কপি যদি নতুন করুন 'এর সেটিংটি অন্তর্ভুক্ত con

জি


এর জন্য ধন্যবাদ. তবে আমি কীভাবে / কোথায় এটি করি সে সম্পর্কে আমি কিছুটা বিভ্রান্ত। আদর্শভাবে আমি কেবলমাত্র আমার "আপলোড" ফোল্ডারটি "অন্তর্ভুক্ত" করতে চাই এবং সমস্ত শিশু ফাইলগুলি প্রকাশের অন্তর্ভুক্ত করা হবে।
সামজলি

এটি অবজেক্ট এক্সপ্লোরারের একটি পৃথক আইটেমের বৈশিষ্ট্যগুলিতে প্রযোজ্য, যা আপনি সম্পত্তি ট্যাবে দেখবেন যখন আপনি কোনও আইটেম নির্বাচন করবেন বা ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি নির্বাচন করবেন। আপনি যা চান তার জন্য, আমি মনে করি আপনি যখন প্রকল্পটিতে ডান ক্লিক করেন তখন আপনাকে কেবল বিদ্যমান আইটেমটি যুক্ত করতে হবে। বিটিডাব্লু, অ্যাড বিদ্যমান আইটেম কথোপকথনের সংরক্ষণ বোতামটির একটি ড্রপ ডাউন রয়েছে যা আপনাকে এটিকে একটি লিঙ্ক হিসাবে যুক্ত করতে দেয়। আপনি এখনও ফোল্ডার মধ্যে আইটেম যোগ করতে হতে পারে।
জেরার্ড ওনিল

5

ভিএস ২০০৮-এ, ডক এন্ট্রি যা সবচেয়ে কার্যকর বলে মনে হয় তা হ'ল:

উইন্ডোজ উপস্থাপনা ফাউন্ডেশন একটি ডাব্লুপিএফ অ্যাপ্লিকেশন (ডাব্লুপিএফ) তৈরি করছে

MS-সহায়তা: //MS.VSCC.v90/MS.MSDNQTR.v90.en/wpf_conceptual/html/a58696fd-bdad-4b55-9759-136dfdf8b91c.htm

অ্যাপ্লিকেশন ডেফিনিশনটি এক্সএএমএল মার্কআপ ফাইলটি সনাক্ত করে যা অ্যাপ্লিকেশন সংজ্ঞা (একটি এক্সএএমএল মার্কআপ ফাইল যার মূল উপাদানটি অ্যাপ্লিকেশন) রয়েছে contains অ্যাপ্লিকেশন ডেফিনিশনটি বাধ্যতামূলক হয় যখন ইনস্টল সত্য হয় এবং আউটপুট টাইপ ওয়াইনেক্স হয়। একটি ডাব্লুপিএফ অ্যাপ্লিকেশন এবং ফলস্বরূপ, একটি এমএসবিল্ড প্রকল্পে কেবল একটি অ্যাপ্লিকেশন ডেফিনিশন থাকতে পারে।

পৃষ্ঠা এমন একটি এক্সএএমএল মার্কআপ ফাইল সনাক্ত করে যার বিষয়বস্তু বাইনারি বিন্যাসে রূপান্তরিত হয়ে একটি সমাবেশে সংকলিত হয়েছে। পৃষ্ঠা আইটেমগুলি সাধারণত একটি কোড-পিছনের শ্রেণীর সাথে একত্রে প্রয়োগ করা হয়।

সর্বাধিক সাধারণ পৃষ্ঠা আইটেমগুলি হল এক্সএএমএল ফাইলগুলি যার শীর্ষ স্তরের উপাদানগুলি নিম্নলিখিতগুলির মধ্যে একটি:

Window (System.Windows..::.Window).

Page (System.Windows.Controls..::.Page).

PageFunction (System.Windows.Navigation..::.PageFunction<(Of <(T>)>)).

ResourceDictionary (System.Windows..::.ResourceDictionary).

FlowDocument (System.Windows.Documents..::.FlowDocument).

UserControl (System.Windows.Controls..::.UserControl).

রিসোর্স এমন কোনও রিসোর্স ফাইল সনাক্ত করে যা একটি অ্যাপ্লিকেশন সমাবেশে সংকলিত। যেমন পূর্বে উল্লিখিত হয়েছে, ইউআইসকিউট রিসোর্স আইটেমগুলি প্রক্রিয়া করে।

সামগ্রী একটি অ্যাপ্লিকেশন সহ বিতরণ করা হয় এমন একটি সামগ্রী ফাইল সনাক্ত করে। মেটাডেটা যা কনটেন্ট ফাইলের বর্ণনা দেয় তা অ্যাপ্লিকেশনটিতে সংকলিত হয় (এসেম্বলিএসোসিয়েটেড কনটেন্টফিলঅ্যাট্রিবিউট ব্যবহার করে)।


4

মাইক্রোসফ্ট কানেক্ট থেকে এই পৃষ্ঠা সম্পর্কে (ডিজাইনডাটা এবং ডিজাইনডাটা উইথডিজাইনটাইমক্রিটেবল টাইপগুলি) প্রকারগুলি ব্যাখ্যা করুন। বরাত দিয়ে:

নীচে নমুনা ডেটা ফাইলগুলির জন্য দুটি বিল্ড অ্যাকশনগুলি বর্ণনা করে।

নমুনা ডেটা .xaml ফাইলগুলি নীচের বিল্ড অ্যাকশনগুলির মধ্যে একটি নির্ধারিত করতে হবে:

ডিজাইনডাটা : নমুনা ডেটা টাইপগুলি ভুয়া প্রকার হিসাবে তৈরি করা হবে। এই বিল্ড অ্যাকশনটি ব্যবহার করুন যখন নমুনা ডেটা প্রকারগুলি সৃজনযোগ্য না হয় বা কেবল পঠনযোগ্য বৈশিষ্ট্য থাকে যার জন্য আপনি নমুনা ডেটা মানগুলির জন্য সংজ্ঞা দিতে চান।

ডিজাইনডাটা উইথডিজাইনটাইমক্রিটেবল টাইপস : নমুনা ডেটা ফাইলে সংজ্ঞায়িত প্রকারগুলি ব্যবহার করে নমুনা ডেটা টাইপ তৈরি করা হবে। যখন নমুনা ডেটা টাইপগুলি তাদের ডিফল্ট খালি কনস্ট্রাক্টর ব্যবহার করে তৈরিযোগ্য হয় তখন এই বিল্ড অ্যাকশনটি ব্যবহার করুন।

না তাই অবিশ্বাস্যভাবে সম্পূর্ণ, কিন্তু এটা অন্তত একটি ইঙ্গিত দেয়। এই এমএসডিএন ওয়াকথ্রু কিছু ধারণা দেয়। আমি জানি না যে এই বিল্ড অ্যাকশনগুলি সিলভারলাইটহীন প্রকল্পগুলির জন্যও প্রযোজ্য কিনা।


4
  • জাল: মাইক্রোসফ্ট জালিয়াতি (ইউনিট টেস্ট বিচ্ছিন্নকরণ) ফ্রেমওয়ার্কের অংশ। সমস্ত ভিজ্যুয়াল স্টুডিও সংস্করণে উপলব্ধ নয়। জালগুলি আপনার প্রকল্পের ইউনিট টেস্টিং সমর্থন করার জন্য ব্যবহৃত হয়, অ্যাপ্লিকেশনটির অন্যান্য অংশগুলি স্টাব বা শিমের সাহায্যে প্রতিস্থাপনের মাধ্যমে আপনি যে কোডটি পরীক্ষা করছেন তা আলাদা করতে সহায়তা করে। আরও এখানে: https://msdn.microsoft.com/en-us/library/hh549175.aspx
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.