অব্যবহৃত রেফারেন্সগুলি সরান (! = "ব্যবহার")


100

আমি কীভাবে আমার প্রকল্পগুলিতে অব্যবহৃত তথ্যগুলি খুঁজে পেতে এবং মুছতে পারি?

আমি জানি আপনি বনাম ২০০৮ সালে ব্যবহারের বিবৃতিগুলি সহজেই মুছে ফেলতে পারেন, তবে এটি আপনার প্রকল্পগুলির প্রকৃত উল্লেখটি সরাবে না। রেফারেন্স করা dll এখনও আপনার বিন / সেটআপ প্যাকেজে অনুলিপি করা হবে।


ধন্যবাদ দুঃখের বিষয়, আমি কোন উত্তর খুঁজছিলাম না ...
বোরিস কলেনস

উত্তর:


55

* দ্রষ্টব্য: এই উত্তরের অন্য সংস্করণের জন্য http://www.jetbrains.net/devnet/message/5244658 দেখুন ।

পোস্টগুলি পড়তে দেখে মনে হচ্ছে আসল প্রশ্নটি নিয়ে কিছু বিভ্রান্তি রয়েছে। আমাকে এটিতে ছুরিকাঘাত করা যাক।

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

এই ক্ষেত্রে, রিসার্পার আপনাকে সেগুলি সনাক্ত করতে সহায়তা করতে পারে তবে আপনাকে সেগুলি নিজেই সরিয়ে ফেলতে হবে

এটি করতে, রেফারেন্সগুলি ইনথ সলিউশন ব্রাউজারটি খুলুন, প্রতিটি রেফারেন্সিং অ্যাসেমব্লিতে ডান মাউস ক্লিক করুন এবং "নির্ভরযোগ্য কোড খুঁজুন" বাছুন pick দেখা:

http://www.jetbrains.com/resharper/features/navication_search.html#Find_ReferencesdD dependent_Code

আপনি পাবেন:

  1. ব্রাউজার উইন্ডোতে Re রেফারেন্সের উপর নির্ভরশীলতার একটি তালিকা বা

  2. আপনাকে "এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স কোডস পাওয়া যায়নি" বলে একটি সংলাপ।

আপনি যদি দ্বিতীয় ফলাফলটি পান তবে আপনি মাউসের সাহায্যে রেফারেন্সটি ক্লিক করতে পারেন, সরান নির্বাচন করুন এবং আপনার প্রকল্প থেকে এটিকে সরাতে পারেন।

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

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

কিছু পোস্ট এই প্রশ্নের উত্তর দিচ্ছে বলে মনে হচ্ছে: "আমি কীভাবে উত্স কোড ফাইল থেকে ক্লজ (সি #) ব্যবহার করে অপসারণ করব যা সেই ফাইলের মধ্যে কোনও রেফারেন্স সমাধান করার প্রয়োজন হয় না"।

এই ক্ষেত্রে, রিসার্পার কয়েকটি উপায়ে সহায়তা করে:

  1. ফ্লাইয়ের ত্রুটি সনাক্তকরণের সময় আপনার জন্য অযৌক্তিক ব্যবহারগুলি ব্যবহার না করা শনাক্ত করে। এগুলি কোড পরিদর্শন সতর্কতা হিসাবে উপস্থিত হবে - ফাইলটি কোডটি গ্রেজ আউট (ডিফল্ট হবে) প্রদর্শিত হবে এবং রিসার্পার এটি সরানোর জন্য একটি হিন্ট সরবরাহ করবে:

    http://www.jetbrains.com/resharper/features/code_analysis.html#On-tly-fly_Error_Dtetection

  2. কোড ক্লিনআপ প্রক্রিয়ার অংশ হিসাবে আপনাকে সেগুলি স্বয়ংক্রিয়ভাবে সরানোর অনুমতি দেয়:

    http://www.jetbrains.com/resharper/features/code_formatting.html# অপ্টিমাইজিং_নামস্পেস_অম্পোর্ট_ডাইভেটিভস

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


ভাল বিস্তৃত উত্তর। সবচেয়ে অদ্ভুত বিষয়টি যদিও আপনি জানেন যে আমি ব্যবহারের বিবৃতিগুলি উল্লেখ করছি না (যে ক্লিন আপটি ভিএস-তে মানসম্পন্ন, কেন আর # এটি পুনরায় উদ্ভাবন করল না) আপনি প্রথমে সেই প্রশ্নের উত্তর দিন। আপনি দুজনের চারপাশে স্যুইচ করতে কিছু মনে করবেন?
বোরিস কলেনস

করব. রিশার্পারের বৈশিষ্ট্যটি ভিজ্যুয়াল স্টুডিও বাস্তবায়নের আগে। এটি তাদের "স্বতঃসংশোধন" বৈশিষ্ট্যটির মাধ্যমে যেমনটি অর্জন করা যায় ততক্ষণ অবধি রয়ে যায় - আপনার পুনরায় শেয়ার করার পরে স্মার্ট ট্যাগগুলি বন্ধ হয়ে যায়।
jlo

1
এখন ~ 4 বছর পরের রিশার্পার 6.1 সরাসরি বৈশিষ্ট্যটি পেয়েছে!
জুলিয়েন রোনাকাগলিয়া

আপনি কী বলতে চাইছেন তা নিশ্চিত নয় - বছরের পর বছর ধরে রিশার্পারের এই বৈশিষ্ট্যটি রয়েছে।
jlo

8
সচেতন থাকুন: আপনি যদি অ্যাসেম্বলিগুলি থেকে গতিশীল লোড করতে কোনও ধরণের প্রতিবিম্ব ব্যবহার করেন তবে এটি করা খারাপ কাজ হবে। আপনার সমাবেশটি আপনার সাথে বিন / উত্পাদনের সাইটে নিয়ে যাওয়ার জন্য আপনি "রেফারেন্স" ব্যবহার করেছেন তবে সরাসরি এটি উল্লেখ করার মতো কোনও কোড থাকবে না। যত্ন সহকারে ব্যবহার করুন!
ক্যাস্পার লিওন নীলসেন

12

আপনি লিখেছেন ' অব্যবহৃত রেফারেন্সগুলি সরান ' এক্সটেনশনটি ব্যবহার করতে পারেন :

http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097


এই এক্সটেনশানটি প্রকাশিত হয় না
stombeur

1
আমি এই প্রথম পছন্দ! তবে তারপরে আরও পরীক্ষার মাধ্যমে এটি আমার প্রয়োজনীয় রেফারেন্সগুলি সরিয়ে ফেলল। ব্যর্থতা সম্পর্কে আরও বিশদ এখানে: wpfsharp.com/2012/04/04/…
ছড়া

7

অব্যবহৃত রেফারেন্সগুলি সরিয়ে ফেলা ভিজ্যুয়াল স্টুডিও ২০০৮ ইতিমধ্যে সমর্থন করে এমন বৈশিষ্ট্য। দুর্ভাগ্যক্রমে, শুধুমাত্র ভিবি। নেট প্রকল্পগুলির জন্য।

আমি সি # প্রকল্পের জন্যও এই বৈশিষ্ট্যটি পেতে মাইক্রোসফ্ট কানেক্টে একটি পরামর্শ খুলেছি:

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326

আপনি যদি এই বৈশিষ্ট্যটিও পছন্দ করেন তবে আপনি আমার পরামর্শটিতে ভোট দিতে পারেন।


5

এটি ব্যবহার করে দেখুন: রেফারেন্স সহকারী

সারসংক্ষেপ

রেফারেন্স সহকারী ভিজুয়াল স্টুডিও ২০১০-তে সি #, এফ #, ভিবি.এনইটি বা ভিসি ++ / সিএলআই প্রকল্পগুলি থেকে অব্যবহৃত রেফারেন্সগুলি সরাতে সহায়তা করে।


1
আপনি কি বনাম 2012 এর জন্য একই ধরণের এক্সটেনশন জানেন?
isxaker

@ আইসেক্সেকার এটি এখন পুনঃনির্বাচিত বৈশিষ্ট্যের মধ্যে নির্মিত
লিটলজহান

4

রিশার্পার 6.1 এ বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করবে:

  • রেফারেন্সগুলি অনুকূলিত করুন : আপনার সমাবেশের রেফারেন্সগুলি এবং কোডগুলিতে তাদের ব্যবহারগুলি বিশ্লেষণ করুন, অপ্রয়োজনীয় উল্লেখগুলির তালিকা পান এবং সেগুলি সরান remove

  • অব্যবহৃত রেফারেন্সগুলি সরান : অপ্রয়োজনীয় সমাবেশ সংক্রান্ত রেফারেন্সগুলি সরাতে দ্রুত রিফ্যাক্টরিং।

  • অ্যাসেম্বলি রেফারেন্সগুলিতে নিরাপদে মোছা: অ্যাসেম্বলি রেফারেন্সগুলি মুছে ফেলা হবে যদি সেগুলি সমস্ত অপ্রয়োজনীয় হয়, অন্যথায় ব্যবহারগুলি ডিসপ্লে করে এবং কেবলমাত্র নির্বাচিত তালিকার অপ্রয়োজনীয় সমাবেশের রেফারেন্সগুলি সরাতে পারে।


4

রিশার্পার আপনার জন্য এটি করবে (এবং আরও অনেক কিছু!)


রিশার্পার কি আসলে ডিফেন্স রেফারেন্স ফোল্ডারে ডিএলএল এর রেফারেন্সটি সরিয়ে ফেলবে? আমি মনে করি না এটি এমন করে?
tobinharris

1
আমি মনে করি না এটি হবে ... আমি মনে করি এটি কেবলমাত্র এমন কোনও নাম স্থানের জন্য ব্যবহারের বিবৃতিটিকে ইঙ্গিত করে যা আপনি উল্লেখ করেন না। FWIW - কোডারশ একই কার্যকারিতা সরবরাহ করে "আরও অনেক কিছু!" :)
সামুরাই কেন

1
এখন ~ 4 বছর পরে রিসার্চার 6.1 বৈশিষ্ট্যটি পেয়েছে!
জুলিয়েন রোনাকাগলিয়া

3

আমি ভিএস ২০১০ এর চূড়ান্ত আর্কিটেকচার-> ডেপেন্ডেন্সি গ্রাফ উত্পন্ন -> বিধানসভা দ্বারা এটি ব্যবহার করা সমাবেশগুলি দেখায় এবং ম্যানুয়ালি অব্যবহৃত রেফারেন্সগুলি ছাড়াই এটি করেছি।


বৃহত্তর প্রকল্পের জন্য আমি এটির প্রস্তাব দিচ্ছি না। আমি কী ছিল এবং কী ব্যবহৃত হয়নি তা নির্ধারণ করা খুব কঠিন বলে মনে হয়েছিল। আমি তবে রঙিন অন্ধ হতে দেখি, সম্ভবত এটির আমার পক্ষে এর কার্যকারিতা প্রভাবিত হয়েছিল।
দুবিশপুশার

2

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

আপনি আপনার প্রকল্পের ডেলিতে টেলিরিক জাস্টডেকম্পাইল ব্যবহার করতে পারেন । JustDecompile এ কেবল dll খুলুন এবং Referencesসংকলিত dll তে আসলে কী ব্যবহৃত হয় তা দেখার জন্য যান ।

এখানে চিত্র বর্ণনা লিখুন


1
আমি মনে করি এটি একটি দুর্দান্ত সমাধান! আপনি কি ভিএস প্লাগইন লেখেন? :) আইএলএসপিএসের একটি প্লাগইন রয়েছে এবং আমি এটি দেখতে পাচ্ছি যে এটি কোনওভাবে সহজেই আধা-স্বয়ংক্রিয় করা যায় কিনা ...
স্টিভেন কোকো

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

0

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

আপনি যদি অনুপ্রাণিত হন ...


1
এটি সর্বদা সঠিক নয়। উদাহরণস্বরূপ, যদি আপনার কাছে ক্লাস ফু থাকে যা বার থেকে উদ্ভূত হয় এবং আপনার বারে স্থির সদস্য ব্লাহ থাকে এবং আপনি এটিকে ফুঃব্লা বলে থাকেন তবে সংকলকটির জন্য আপনার রেফারেন্সে ফু এর সমাবেশ থাকতে হবে, তবে এটি নির্গত হবে না it আউটপুট মধ্যে, কারণ স্থির সদস্য বার হয়। এরকম আরও কিছু মামলা রয়েছে।
ইলিয়া রাইঝেঙ্কভ

হ্যাঁ, আমি আমার স্ক্রিপ্টে কিছু 'ছিদ্র' লক্ষ্য করেছি, এর কারণটি কখনই কাজে লাগেনি। তথ্যের জন্য ধন্যবাদ।
বেনজল

0

আমি মনে করি যে এটি বিন ied এ অনুলিপি করা হয়েছে, কারণ যে প্রকল্পটি রেফারেন্সটি সরিয়ে রেখেছে সেগুলিতে রেফারেন্স রয়েছে এবং অন্যান্য প্রকল্পেও একই রেফারেন্স রয়েছে ...


0

কোন রেফারেন্স ব্যবহার করা হয় না তা যদি আপনি জানেন তবে আপনি সেগুলি ম্যানুয়ালি মুছে ফেলতে পারেন।
সমাধান এক্সপ্লোরার-এ, রেফারেন্স নোডের রেফারেন্সটিতে ডান ক্লিক করুন এবং তারপরে সরান ক্লিক করুন।

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