কেন "স্টার্টআপ হিসাবে সেট করুন" বিকল্পটি suo ফাইলে সংরক্ষণ করা হয় এবং স্লান ফাইল নয়?


175

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

উত্তর:


46

কেন এটি অ-ব্যবহারকারী-নির্দিষ্ট পছন্দ হওয়া উচিত?

যদি আমি 10 টি ফাইলের মধ্যে একটি সমাধান পেয়েছি এবং একজন বিকাশকারী প্রাথমিকভাবে tools সরঞ্জামগুলির মধ্যে একটির পরীক্ষা / ব্যবহার করছে তবে কেন এটি আমার শুরু হওয়াতে প্রভাব ফেলবে?

আমি মনে করি এমএস এটির জন্য সঠিক পছন্দ করেছে। প্রকল্পের আমি শুরু করতে চান অগত্যা প্রকল্পের যে থেকে অনেক দূরে অন্য ডেভেলপারদের শুরু করতে চান।


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

27
কথা বলার পদ্ধতিতে রয়েছে ... আপনি যে প্রকল্পটি সেট করতে চান তা স্লান ফাইলের প্রথম প্রকল্প হতে ডিফল্ট স্টার্ট আপ প্রকল্প হিসাবে সরিয়ে নিতে চান Move আপনার সু ফাইলটি মুছুন, সমাধানটি আবার খুলুন এবং উইলা, প্রথম প্রকল্পটি শুরু হওয়া উচিত। এটিতে আরও অবদান রাখে এমন অন্যান্য কারণও থাকতে পারে, তবে আমি যখন এটি লক্ষ্য করেছি যে উত্স নিয়ন্ত্রণ থেকে একটি পরিষ্কার প্রকল্প পরীক্ষা করে দেখলাম তখন একটি বিশেষত প্রকল্প ডিফল্ট থাকে।
মিসটারেডান

2
বিল্ড সার্ভার ব্যবহার করার সময় এটি একটি সমস্যা কারণ সঠিক স্টার্টআপ প্রজেক্টটি সেট করার জন্য সূওটিকে সংস্করণ নিয়ন্ত্রণে পরীক্ষা করা প্রয়োজন এবং সূওটিকে সংস্করণ নিয়ন্ত্রণে পরীক্ষা করা খারাপ ধারণা।
মার্শানকক

2
@মারশঙ্কক: কেন কোনও বিল্ড সার্ভার স্টার্টআপ প্রকল্প সম্পর্কে যত্ন নেবে? বিষয়টি আমি কখনও দেখিনি।
জন স্কিটি

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

376

এটি একেবারে প্রয়োজনীয় যে প্রত্যেকে নিজের স্টার্টআপ প্রকল্পটি নিজেরাই সংজ্ঞায়িত করতে পারে, যেমন জন ইতিমধ্যে বলেছে । তবে একটি ডেডিকেটেড ডিফল্ট থাকা দুর্দান্ত হবে, এবং আমি যেমন বলতে পারি, এটি সম্ভব!

আপনার সমাধান ডিরেক্টরিতে যদি একটি .suo ফাইল না থাকে তবে ভিজ্যুয়াল স্টুডিও আপনার .sln ফাইলের প্রথম প্রকল্পটিকে ডিফল্ট সূচনা প্রকল্প হিসাবে বেছে নেয়।

  1. আপনার ভিজ্যুয়াল স্টুডিওটি বন্ধ করুন এবং আপনার প্রিয় পাঠ্য সম্পাদকটিতে .sln ফাইলটি খুলুন। লাইন 4 থেকে শুরু করে, আপনি আপনার সমস্ত প্রকল্পে encapsulated দেখতে Project- EndProjectলাইন।

  2. কাঙ্ক্ষিত ডিফল্ট স্টার্টআপ প্রকল্পটি শীর্ষ অবস্থানে আটকে দিন।

  3. আপনার .suo ফাইলটি মুছুন।

  4. ভিজ্যুয়াল স্টুডিওতে আপনার সমাধানটি খুলুন। তা দা!

আপনি যদি জোন জানেন না এমন কোনও কিছু জানেন তবে কি কোনও বিশেষ পুরষ্কার রয়েছে? ;-)


1
Finaly! এটি আমাকে দীর্ঘদিন ধরে বাগবিত করে চলেছে তবে আর হয় না! টঙ্কস :)
এমডোনাতাস

4
কোনও সমাধান ফোল্ডারে না থাকলে কেবল এটিই কাজ করে বলে মনে হচ্ছে: আমার অর্থ এই কৌশলটি মূল সমাধানগুলির সাথে আমার অভিজ্ঞতা থেকে মূল প্রকল্পগুলির জন্য কাজ করে।
jdehaan

25
কি দারুন! আপনি জে স্কেটিড! :))
আন্দ্রে রিনিয়া

3
যদি দুটি ডিফল্ট প্রকল্প হয় - তবে আমি কীভাবে এগুলি দুটি ডিফল্টরূপে শুরু করতে পারি?
অ্যামি বি

6
@ অলিভার: সমাধানটি ডান ক্লিক করুন -> স্টার্টআপ প্রকল্পগুলি সেট করুন ... -> একাধিক স্টার্টআপ প্রকল্প projects এক-ক্লিক একাধিক শুরু হয়।
আন্তন

46

অধিকাংশ ক্ষেত্রে, এটা করে জানার জন্য এই একটি ডিফল্ট আছে।

একটি ডিফল্ট সূচনা প্রকল্পের সমন্বয় করা এবং এটি .sln ফাইলে সংরক্ষণ করা আরও ভাল but তবে যা তাদের .suo ফাইলটিতে কোনও বিকাশকারী ওভাররাইড করতে পারে। .Suo ফাইলটিতে যদি স্টার্টআপ সেটিংটি না পাওয়া যায় তবে .sln এ ডিফল্ট স্টার্টআপ প্রকল্পটি ব্যবহৃত হত।

আসলে, এই হয়েছে ভিসুয়াল স্টুডিও এর UserVoice প্রস্তাবিত


লিঙ্কযুক্ত ইউজারভয়েস "ভোট দেওয়ার জন্য বন্ধ" তবে কেন তা সম্পর্কে কোনও মন্তব্য নেই।
yzorg

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

3

আমি উইন্ডোজের জন্য একটি সামান্য কমান্ড লাইন ইউটিলিটি লিখেছিলাম যা slnStartupProjectস্বয়ংক্রিয়ভাবে স্টার্টআপ প্রজেক্ট সেট করার জন্য ডেকেছিল :

slnStartupProject slnFilename projectName

আমি ব্যক্তিগতভাবে এটি cmake দিয়ে সমাধান উত্পন্ন করার পরে স্টার্টআপ প্রকল্পটি সেট করতে ব্যবহার করি যা সর্বদা ALL_BUILDসমাধানের প্রথম প্রকল্প হিসাবে একটি ডামি প্রকল্প সেট করে।

উৎস GitHub থেকে হয়। কাঁটাচামচ এবং প্রতিক্রিয়া স্বাগত।


এর জন্য ধন্যবাদ! চ্যামেক নিয়ে আমার ঠিক এই সমস্যা ছিল এবং আপনার ইউটিলিটি দুর্দান্ত কাজ করে!
সিপ্পা

1
আপনাকে স্বাগতম! খুশির কারণ এটি সমাধান করার সিদ্ধান্ত নেওয়ার আগে বছরখানেক আগে আমাকে তাড়িত করে helps বেশিরভাগ ক্ষেত্রে এটি স্পষ্টভাবে কার্যকর যখন লোকেরা কেন এই সম্পর্কে দার্শনিক মারামারি করে তা সত্যিই বুঝতে পারি না।
michaK

তুমি .. অপেক্ষা কর ... কি? - আপনি নিজের .sln ফাইলটি ম্যানুয়ালি তৈরি করেন? ... এ কী যাদু?
BrainSlugs83

3

আপনি যদি জিআইটি ব্যবহার করছেন, আপনি ডিফল্ট এসইওও ফাইলটি প্রতিশ্রুতিবদ্ধ করতে পারেন এবং তারপরে এটি ব্যবহার করে অপরিবর্তিত হিসাবে চিহ্নিত করতে পারেন

git update-index --assume-unchanged YourSolution.suo

আপনি যদি আপনার ডিফল্ট শুরু গোষ্ঠীতে একাধিক প্রকল্প রাখতে চান তবে এটিও কাজ করে। কেবলমাত্র অসুবিধা সম্পর্কে আমি জানি যে এই কমান্ডটি অবশ্যই প্রত্যেকের দ্বারা চালিত করা উচিত যারা এসইওও ফাইল প্রতিশ্রুতিবদ্ধ করতে চায় না।

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