কীসের জন্য ব্যবহৃত ওজেব এবং বিন ফোল্ডার (ভিজ্যুয়াল স্টুডিও দ্বারা নির্মিত)?


222

আমি ভিজ্যুয়াল স্টুডিও 2010 এ একটি নতুন প্রকল্প তৈরি করেছি এবং লক্ষ্য করেছি যে এখন দুটি নতুন ফোল্ডার নাম objএবং binআমার প্রকল্প ডিরেক্টরিতে রয়েছে।

বিল্ডিং এবং ডিবাগিংয়ের সময় অনুরূপ জোড়া ফোল্ডার তৈরি করা হয় - এই ফোল্ডারগুলি কীসের জন্য?

উত্তর:


238

objফোল্ডারের ঝুলিতে বস্তু, বা মধ্যবর্তী, ফাইল , যা বাইনারি ফাইল যা এখনও লিঙ্ক করা হয়নি সংকলিত। এগুলি মূলত টুকরো টুকরো যা চূড়ান্ত সম্পাদনযোগ্য উত্পাদন করতে একত্রিত হবে। সংকলক প্রতিটি উত্স ফাইলের জন্য একটি অবজেক্ট ফাইল উত্পন্ন করে এবং সেই ফাইলগুলি objফোল্ডারে স্থাপন করা হয় ।

binফোল্ডারের ঝুলিতে বাইনারি ফাইল , যা আপনার অ্যাপ্লিকেশন অথবা গ্রন্থাগার জন্য প্রকৃত এক্সিকিউটেবল কোড আছে।

এই ফোল্ডারগুলির প্রতিটিই আরও Debugএবং আরও বিভক্ত হয়Release ফোল্ডারগুলি রয়েছে যা কেবল প্রকল্পের বিল্ড কনফিগারেশনের সাথে সামঞ্জস্য করে। উপরে আলোচনা করা দুটি ধরণের ফাইলগুলি আপনি কোন ধরণের বিল্ডের উপর নির্ভর করে তা যথাযথ ফোল্ডারে স্থাপন করা হয়। এটি নির্ধারণ করা আপনার পক্ষে সহজ করে তোলে যে কোন এক্সিকিউটেবলগুলি ডিবাগিং প্রতীকগুলির সাথে নির্মিত এবং কোনটি অপ্টিমাইজেশানগুলি সক্ষম এবং মুক্তির জন্য প্রস্তুত দিয়ে নির্মিত হয়েছিল।

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


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

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

2
আমি ভাবছি যদি বিল্ড কমপ্লিট হওয়ার পরে আমি ভিজ্যুয়াল স্টুডিওতে মুছে ফেলা মুছে ফেলতে পারি?
জনি_ডি

2
@ স্লিআরস্কাল যদি আপনি ওয়েব প্রকল্পটি বিকাশ করছেন তবে আপনার ডিবাগ / রিলিজ ফোল্ডার না থাকার একটি কারণ হ'ল?
টিম আইলস

2
objআসলেই কি কেবল লিঙ্কযুক্ত অবজেক্ট কোড ফাইল রয়েছে? আমার অভিজ্ঞতা থেকে, এটা রয়েছে সব তাদের, এবং চূড়ান্ত বিল্ড পদে পদে, ফাইল যে "চূড়ান্ত সেট 'অংশ হয় কপি মধ্যে bin
ivan_pozdeev

44

আমি আপনাকে এই ইউটিউব ভিডিওটি দেখতে উত্সাহিত করব যা সি # বিন এবং আপত্তি ফোল্ডারগুলির মধ্যে পার্থক্য প্রদর্শন করে এবং আমরা কীভাবে বর্ধিত / শর্তসাপেক্ষ সংকলনের সুবিধা পাব তাও ব্যাখ্যা করি।

সি # সংকলন একটি দ্বি-পদক্ষেপ প্রক্রিয়া, আরও তথ্যের জন্য নীচের চিত্রটি দেখুন:

  1. সংকলন: সংকলনের পর্যায়ে পৃথক সি # কোড ফাইলগুলি পৃথক সংকলিত ইউনিটে সংকলিত হয়। এই পৃথক সংকলিত কোড ফাইলগুলি ওবিজে ডিরেক্টরিতে চলে।
  2. লিঙ্কিং: লিঙ্কিং পর্যায়ে এই পৃথক সংকলিত কোড ফাইলগুলি একক ইউনিট ডিএলএল এবং এক্সই তৈরি করতে লিঙ্কযুক্ত। এটি বিন ডিরেক্টরিতে যায়।

সি # বিন বনাম আপত্তি ফোল্ডার

আপনি যদি বিন এবং অবজেক্ট উভয় ডিরেক্টরিকে তুলনা করেন তবে "আপত্তি" ডিরেক্টরিতে আপনি আরও বেশি সংখ্যক ফাইল পাবেন কারণ এতে "বিন" এর একক ইউনিট থাকার সাথে স্বতন্ত্র সংকলিত কোড ফাইল রয়েছে।

বিন বনাম আপত্তি


20

objডিরেক্টরি অন্তর্বর্তী অবজেক্ট ফাইলগুলি এবং অন্যান্য অস্থায়ী ডেটা ফাইল একটি build সময় কম্পাইলার বা বিল্ড সিস্টেম দ্বারা উত্পন্ন হয় জন্য। binযে ডিরেক্টরি চূড়ান্ত আউটপুট বাইনেরিতে (এবং কোনো নির্ভরতা বা অন্যান্য deployable ফাইল) লেখা হবে ডিরেক্টরি।

আপনি যদি চান তবে প্রকল্প সেটিংসের মধ্যেই উভয় উদ্দেশ্যে ব্যবহৃত প্রকৃত ডিরেক্টরিগুলি পরিবর্তন করতে পারেন।


"বিন" প্রকল্পের বৈশিষ্ট্যগুলিতে পরিবর্তন করা যেতে পারে -> "বিল্ড" -> "আউটপুট" -> "আউটপুট পাথ"। তবে "আপত্তি" সম্পর্কে কী?
পিটার মর্টেনসেন

5

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


0

setupআপনি যদি প্রকল্পগুলি ব্যবহার করে থাকেন তবে সাবধান হন ; ভিজ্যুয়াল স্টুডিও সেটআপ প্রকল্পগুলি ফোল্ডার Primary Outputথেকে objতুলনায় টানbin

আমি অ্যাপ্লিকেশনগুলি প্রকাশ করছিলাম যা আমি ভেবেছিলাম অবরুদ্ধ এবং সাইন ইন হয়েছিল msi বেশ কিছুদিনের জন্য স্থাপনার আগে আমি আবিষ্কার করেছি যে মোতায়েন আবেদন ফাইল আসলে তন্ন তন্ন উপর পোস্ট বিল্ড পদ্ধতি করণ হিসাবে obfuscated হয়েছে কিংবা যেমন স্বাক্ষরিত আমি binফোল্ডারের সমাহারগুলি এবং টার্গেটিং হওয়া উচিত ছিল objফোল্ডারের পরিবর্তে সমাবেশগুলি।

এটি স্বজ্ঞাত ইমো থেকে অনেক দূরে, তবে সাধারণ setupপদ্ধতি হল Primary Outputপ্রকল্পটির ব্যবহার এবং এটি objফোল্ডার। যদি কেউ এই বিটিডব্লিউতে কিছু আলোকপাত করতে পারে তবে আমি এটি পছন্দ করব।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.