ভিজ্যুয়াল স্টুডিও প্রকল্পগুলির নির্ভরতা গ্রাফ


130

আমি বর্তমানে ভিএস 2005 +। নেট 2.0 থেকে ভিএস 2008 + নেট 3.5 তে একটি বড় সমাধান (~ 70 প্রকল্প) স্থানান্তরিত করছি। বর্তমানে আমার কাছে ভিএস 2008 +। নেট 2.0 রয়েছে।

সমস্যাটি হ'ল আমাকে প্রকল্পগুলি একের পর এক নতুন .NET ফ্রেমওয়ার্কে স্থানান্তরিত করা দরকার এটি নিশ্চিত করে যে নেট .০.০ প্রকল্পের রেফারেন্স। নেট ৩.৫ প্রকল্প নয়। এমন কোনও সরঞ্জাম আছে যা আমাকে প্রকল্প নির্ভরতার একটি দুর্দান্ত গ্রাফ দেবে?

উত্তর:


39

আপনি এনডিপেন্ডেড চেষ্টা করেছেন? এটি আপনাকে নির্ভরতা দেখায় এবং আপনি আপনার শ্রেণি এবং পদ্ধতিগুলির ব্যবহারযোগ্যতাও বিশ্লেষণ করতে পারেন।

তাদের ওয়েবসাইট:

http://ndepend.com


২০২০ সালের এপ্রিলে @ ইরিওয়ানের উত্তরটি সম্পূর্ণ করতে এনডিপেন্ডেড সংস্করণ ২০২০.০ প্রকাশিত হয়েছে ডিপেন্ডেন্সি গ্রাফটি সম্পূর্ণ পুনর্নির্মাণের সাথে। এটি এখন কয়েকশো প্রকল্পের তৈরি বড় সমাধানগুলিতে স্কেল করে এবং অনেকগুলি নেভিগেশন সুবিধা দেয়।

নপকমার্স ওএসএস প্রকল্পে এটি দেখতে কেমন লাগে তা এখানে ।

নপকমার্সে এনডিপেন্ডেন্ট নির্ভরতা গ্রাফ

এটি সম্পূর্ণ। নেট কোর 3 শ্রেণির লাইব্রেরিতে (176 টি অ্যাসেমব্লিগুলি) দেখতে কেমন লাগে তা এখানে।

লিঙ্ক বিবরণ এখানে প্রবেশ করুন

দাবি অস্বীকার: আমি এনডিপেন্ডেন্টে কাজ করি


3
মূল পোস্টারটি বলে নি এনডিপেন্ডে বিনামূল্যে ছিল এবং এটি সমস্যার সমাধান করে।
ক্রাইস্তান সম্মান জানুয়ারী

6
এই উত্তরটি লেখার সময় এটি হয়ত মুক্ত ছিল, তবে এখন তা নয়।
লেভেন্তে কনক্জ

@ প্যাট্রিক-থেকে-এনডিপেন্ডেড-টিম দয়া করে আমার উত্তরটি সরাসরি সম্পাদনা করবেন না এবং পরিবর্তে একটি নতুন উত্তর খুলবেন না।
এরিওয়ান কুসুমাওয়ার্দনো

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

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

169

আমার অনুরূপ কিছু দরকার ছিল, তবে এটি করার জন্য কোনও সরঞ্জামের জন্য (বা ইনস্টল) অর্থ দিতে চাইনি। আমি একটি দ্রুত পাওয়ারশেল স্ক্রিপ্ট তৈরি করেছি যা প্রকল্পের রেফারেন্সগুলিতে যায় এবং পরিবর্তে তাদের yuml.me বন্ধুত্বপূর্ণ-ফর্ম্যাটে ছড়িয়ে দেয় :

Function Get-ProjectReferences ($rootFolder)
{
    $projectFiles = Get-ChildItem $rootFolder -Filter *.csproj -Recurse
    $ns = @{ defaultNamespace = "http://schemas.microsoft.com/developer/msbuild/2003" }

    $projectFiles | ForEach-Object {
        $projectFile = $_ | Select-Object -ExpandProperty FullName
        $projectName = $_ | Select-Object -ExpandProperty BaseName
        $projectXml = [xml](Get-Content $projectFile)

        $projectReferences = $projectXml | Select-Xml '//defaultNamespace:ProjectReference/defaultNamespace:Name' -Namespace $ns | Select-Object -ExpandProperty Node | Select-Object -ExpandProperty "#text"

        $projectReferences | ForEach-Object {
            "[" + $projectName + "] -> [" + $_ + "]"
        }
    }
}

Get-ProjectReferences "C:\Users\DanTup\Documents\MyProject" | Out-File "C:\Users\DanTup\Documents\MyProject\References.txt"

4
অসাধারণ. আমি এটি নিয়েছি এবং এটি সমস্ত উপ প্রকল্পের মধ্য দিয়ে যেতে প্রসারিত করেছি, তারপরে পুরো প্রজেক্টের মানচিত্রের পরিবর্তে একটি স্লেন ফাইল নিতে আবার এটি প্রসারিত করেছি। ধন্যবাদ
জোন

ভিজ্যুয়াল স্টুডিওর কোন সংস্করণের সাথে এটি কাজ করে? এছাড়াও, সি # প্রকল্পের পরিবর্তে সি ++ দেখার জন্য, .csproj ফাইল প্রত্যয়টিকে .vcproj এ পরিবর্তন করা কি যথেষ্ট? এখানে ভিএস 2005 এর সাথে কাজ করা এবং আমি একটি খালি ফলাফল ফাইল পেয়ে যাচ্ছি ...
এসএসসি

1
এটি সি # এর জন্য ২০১০ সালের একটি প্রকল্পের বিপরীতে লেখা হয়েছিল, তবে আপনি সম্ভবত এটি একটি সি ++ প্রকল্পের ভিতরে এক্সএমএলটি দেখে এবং কোডটি অ্যাডজাস্ট করে খুব সহজেই সামঞ্জস্য করতে পারেন :-)
ড্যানি টুপেনি

5
@ এসএসসি আমার ব্লগে সামান্য আপডেট হওয়া কোড রয়েছে যা টুইট করা সহজ হতে পারে: blog.dantup.com/2012/05/…
ড্যানি টুপেনি

5
আপনি PowerShell 2.0 ব্যবহার করেন, তাহলে আপনি যোগ করতে হবে =$trueকরতে Mandatoryএবং ValueFromPipelineপরামিতি
MOMO

79

আপডেট: সংস্করণ 8-এর পর থেকে রিশার্পারে অন্তর্নির্মিত 'ভিউ প্রকল্প নির্ভরতা' বৈশিষ্ট্য রয়েছে।

রিশার্পার সংস্করণ <8 এ yFiles ভিউয়ার ব্যবহার করে নির্ভরতা গ্রাফগুলি দেখানোর জন্য অভ্যন্তরীণ বৈশিষ্ট্য রয়েছে । পোস্টের নীচে দ্রুত ম্যানুয়াল দেখুন See

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

কিভাবে

  1. এখান থেকে yEd সরঞ্জাম ইনস্টল করুন
  2. /Resharper.in ইন্টারন্যাশনাল কমান্ড লাইন যুক্তির সাহায্যে ভিএস চালান।
  3. রিশার্পার / অভ্যন্তরীণ / শো নির্ভরতাতে যান।
  4. আপনি যে প্রকল্পগুলিকে 'বড় ছবিতে' অন্তর্ভুক্ত করতে চান তা উল্লেখ করুন।
  5. আপনার প্রয়োজন না হলে 'টার্মিনাল নোডগুলি বাদ দিন ...' আনচেক করুন।
  6. 'শো' টিপুন।
  7. YEd এ শ্রেণিবদ্ধ লেআউট ব্যবহার করুন (Alt + Shift + H)
  8. প্রতিক্রিয়া সরবরাহ করুন =)

2
এছাড়াও পুনরায় ভাগ করুন> পরিদর্শন করুন> বর্তমানের রেফারেন্সিং প্রকল্পগুলির তালিকা পেতে প্রকল্পের
শ্রেণিবিন্যাস

5
পুনঃনির্মাণ> আর্কিটেকচার> 'প্রকল্প নির্ভরতা ডায়াগ্রাম দেখান'
ডাঃ ব্লোহার্ড

32

আপনি ভিজ্যুয়াল স্টুডিও 2010 আলটিমেট ব্যবহার করে সহজেই একটি প্রকল্প নির্ভরতা গ্রাফ পেতে পারেন, কীভাবে দেখুন: এই ভিডিওটিতে 5 মিনিটের মধ্যে স্ক্যান করুন : http://www.lovettsoftware.com/blogengine.net/post/2010/05/27/ আর্কিটেকচার- এক্সপ্লোরার .aspx

ভিজ্যুয়াল স্টুডিওতে 2010 চূড়ান্ত: আর্কিটেকচার | নির্ভরতা গ্রাফ তৈরি করুন | সমাবেশ দ্বারা।


@ সি জোনসন আপনার কাছে ভিজুয়াল স্টুডিও 2010 ফিচার প্যাক 2 থাকলে আপনি সি এবং সি ++ কোডের জন্য এটি করতে পারেন । আরও দেখুন সি ও সি ++ কোড জেনারেট করুন নির্ভরতা গ্রাফ: কিভাবে
MSFT - ইষ্টের ফ্যান

1
চেষ্টা করেছেন, ব্যতিক্রম ছুঁড়েছিলেন। স্পষ্টতই এমএস এটি কখনও কখনও কয়েকটি প্রকল্পের বাইরে পরীক্ষা করে দেখেনি। আমার মতে একেবারে নিরর্থক।
সি জনসন

1
শুধু তাই নয়, এটি ভয়াবহভাবে ধীরে ধীরেও। আমি পারলে এটি -10 করতাম। আমি আমার নিজস্ব প্রকল্প নির্ভরতা ওয়াকার লিখেছি (আমাদের নিজস্ব বিল্ড সিস্টেমের জন্য) এবং এটি ভিজ্যুয়াল স্টুডিওর তুলনায় দ্রুত বজ্রপাত করেছিল।
সি জনসন

@ সিজনসন আমি সম্মত হলাম যে এটি বড় ধরণের সমাধানের জন্য ব্যতিক্রম ছোঁড়ার ক্ষেত্রে ধীর এবং প্রবণ, তবে এটি এখনও কিছুই না থেকে ভাল। আমি সমস্ত অ্যাপ্লিকেশন বন্ধ করে কিছু পরিষেবা বন্ধ করে এবং ভিজ্যুয়াল স্টুডিও পুনরায় চালু করে এটি কাজ করেছিলাম।
WynandB

আমার জন্য বড় সমাধানগুলি মিলিয়ন কোডের লাইনের সাথে প্রায় 600 প্রকল্প। কয়েকটি পরিষেবাদি বন্ধ করা আমার পক্ষে একটি গ্রহণযোগ্য কাজ chance
সি জনসন

19

আমি একটি সরঞ্জাম লিখেছি যা আপনাকে সাহায্য করতে পারে। ভিএস সমাধান নির্ভরতা ভিজ্যুয়ালাইজার একটি সমাধানের মধ্যে প্রকল্প নির্ভরতা বিশ্লেষণ করে এবং এই তথ্য থেকে নির্ভরতা চার্ট তৈরি করে পাশাপাশি একটি পাঠ্য প্রতিবেদনও তৈরি করে।


ভিজ্যুয়াল স্টুডিওর কোন সংস্করণ এবং কোন ধরণের প্রকল্পগুলির সাথে এটি কাজ করে? ভিএস ২০০৫ / সি ++ এখানে এবং সরঞ্জামটি কিছু করছে বলে মনে হচ্ছে না ...
এসএসসি

এটি অবশ্যই 2008/2010 এবং .csproj / .vbproj এর সাথে কাজ করে। vs2005 দিয়ে পরীক্ষা করেনি, তবে বর্তমানে .vcproj ফাইলগুলি স্বীকৃত নয়
ডিভিও

এই সরঞ্জামটি বিশ্লেষণের পরে কেবল সমাধান ফাইলটি দেখায় :-( আমার প্রায় 300 প্রকল্প নয়
থার্সচ

@ আপনি যদি আমাকে এটি দেখতে চান তবে দয়া করে জিপ করুন .এসএনএন এবং প্রকল্প ফাইলগুলি (যাতে মূল ডিরেক্টরি কাঠামো সংরক্ষণ করা যায়), এটি একটি ফাইল শেয়ারে আপলোড করুন এবং আমার ব্লগের মাধ্যমে আমার সাথে যোগাযোগ করুন। thx
devio

9

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

একটি আউটপুট পেতে সংস্করণ তথ্য এবং সম্ভাব্য রানটাইম অ্যাসেমবিলি লোডিংয়ের সমস্যাগুলির চেক অন্তর্ভুক্ত করার জন্য, আমি এই সরঞ্জামটি তৈরি করেছি:

https://github.com/smpickett/DependencyViewer

(গিথুব মুক্তির সরাসরি লিঙ্ক: https://github.com/smpickett/D dependencyViewer/relayss )


1
দুর্দান্ত সরঞ্জাম! সহজ এবং দক্ষ। তার জন্য ধন্যবাদ! আমার কাছ থেকে +1
Buka

সত্যিই দুর্দান্ত সরঞ্জাম! আমি বছরের পর বছর ধরে এমন কিছু স্বপ্ন দেখেছিলাম। এটি ভাগ করে নেওয়ার জন্য আপনাকে অনেক ধন্যবাদ!
আলেহরো

8

আপনি ভিএস ২০১০ আলটিমেটে আপনার প্রকল্পগুলির নির্ভরতা গ্রাফ তৈরি করতে পারেন। আর্কিটেকচার এক্সপ্লোরার আপনাকে আপনার সমাধান ব্রাউজ করতে, প্রকল্পগুলি এবং যে সম্পর্কগুলিকে আপনি কল্পনা করতে চান তা নির্বাচন করতে এবং তারপরে আপনার নির্বাচন থেকে নির্ভরতা গ্রাফ তৈরি করতে দেয়।

আরও তথ্যের জন্য নিম্নলিখিত বিষয়গুলি দেখুন:

কীভাবে: কোড থেকে গ্রাফ ডকুমেন্টস তৈরি করুন : http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeSpecificSource

কীভাবে: আর্কিটেকচার এক্সপ্লোরার ব্যবহার করে কোড সন্ধান করুন : http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

আরসি ডাউনলোড : http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a

ভিজ্যুয়াল স্টুডিও 2010 আর্কিটেকচারাল ডিসকভারি এবং মডেলিং সরঞ্জাম ফোরাম: http : //social.msdn.mic Microsoft.com/ Forums/en-US/vsarch/threads


ভিএস 2012 পেশাদারও? বা কেবল ভিএস 2012 চূড়ান্ত?
কিকিনেট

@ কিকিনেট আপনি ভিএস ২০১২ আলটিমেটে নির্ভরতা গ্রাফ তৈরি করতে পারেন। আপনি প্রিমিয়াম এবং প্রোতে সীমাবদ্ধ পরিবর্তনগুলি খুলতে এবং করতে পারবেন।
এস্টার ফ্যান - এমএসএফটি

5

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

এনডিপেন্ডেন্ট ডিপেন্ডেন্সি গ্রাফে আরও এখানে চিত্র বর্ণনা লিখুন

এনডিপেন্ডেন্ট ডিপেন্ডেন্সি ম্যাট্রিক্স সম্পর্কিত আরও : এখানে চিত্র বর্ণনা লিখুন

দাবি অস্বীকার: আমি সরঞ্জাম দলের অংশ


এনডিপেন্ডেড .NET- এর জন্য, এর ক্লোন সিপিডিপেন্ডাই সি ++ এর জন্য এবং .vcxproj ফাইলগুলির সাথে কাজ করে
এনডিপেন্ডের দল থেকে প্যাট্রিক

5

PowerShell সমাধান সবচেয়ে ভাল। আমি এটিকে বাশ স্ক্রিপ্টে রূপান্তরিত করেছি যা আমার মেশিনে (টিএম) কাজ করে:

#!/bin/bash

for i in `find . -type f -iname "*.csproj"`; do
    # get only filename
    project=`basename $i`

    # remove csproj extension
    project=${project%.csproj}

    references=`cat $i | grep '<ProjectReference' | cut -d "\"" -f 2`
    for ref in $references; do
        # keep only filename (assume Windows paths)
        ref=${ref##*\\}

        # remove csproj extension
        ref=${ref%.csproj}

        echo "[ $project ] -> [ $ref ]"
    done

done

4

আপনি আপনার প্রকল্পে রেফারেন্স একটি দুর্দান্ত গ্রাফ তৈরি করতে পারেন। আমি আমার ব্লগে আমি তা বর্ণনা করে থাকেন http://www.mellekoning.nl/index.php/2010/03/11/project-references-in-ddd/


আপনাকে যা করতে হবে তা হ'ল ভিএস-এর অভ্যন্তরে প্রদর্শনের জন্য আউটপুটটি ডিজিএমএল করতে হবে: ব্লগস.এমএসএনএন
রিচার্ড


3

ভিএস 2019 কোড মানচিত্রে নির্ভরতা গ্রাফ মডিউলটির নামকরণ করেছে

এখানে অফিশিয়াল ডকুমেন্টেশন রয়েছে: https://docs.microsoft.com/en-us/visualstudio/modeling/map-d dependferences-across- your-solitions?view= vs-2019


"কোড মানচিত্র তৈরি করতে এবং সম্পাদনা করতে আপনার ভিজ্যুয়াল স্টুডিও এন্টারপ্রাইজ সংস্করণ প্রয়োজন Vis
ম্যাথিউটি

1

ড্যানি টুপেনির পিএস স্ক্রিপ্টের এই বর্ধিত সংস্করণটি প্রকল্প এবং বাহ্যিক উভয়ই রেফারেন্স দেখায়:

Function Get-ProjectReferences($rootPath)
{
  $projectFiles = Get-ChildItem $rootPath -Filter *.csproj -Recurse
  $ns = @{ defaultNamespace = "http://schemas.microsoft.com/developer/msbuild/2003" }

  $projectFiles | ForEach-Object {
    $projectFile = $_ | Select-Object -ExpandProperty FullName
    $projectName = $_ | Select-Object -ExpandProperty BaseName
    $projectXml = [xml](Get-Content $projectFile)

    $projectReferences = $projectXml | Select-Xml '//defaultNamespace:ProjectReference/defaultNamespace:Name' -Namespace $ns | Select-Object -ExpandProperty Node | Select-Object -ExpandProperty "#text"
    $projectReferences | ForEach-Object {
        "PR:[" + $projectName + "]:[" + $_ + "]"
    }
  }

  $projectFiles | ForEach-Object {
    $projectFile = $_ | Select-Object -ExpandProperty FullName
    $projectName = $_ | Select-Object -ExpandProperty BaseName
    $projectXml = [xml](Get-Content $projectFile)

    $externalReferences = $projectXml | Select-Xml '//defaultNamespace:Reference/@Include' -Namespace $ns
    $externalReferences | ForEach-Object {
        "ER:[" + $projectName + "]:[" + $_ + "]"
    }

  }

}

Get-ProjectReferences "C:\projects" | Out-File "C:\temp\References.txt"

এটি একটি কোলন দ্বারা পৃথক করা ফাইল দেবে যা এক্সেলে খোলা এবং বিশ্লেষণ করা যায়।


-1

আমি সমস্ত উত্তর যাচাই করেছি কিন্তু বিকল্পগুলির মধ্যে আমার কোনওটি সন্তুষ্ট হয়নি তাই প্রকল্প-প্রকল্পের নির্ভরতাগুলির পূর্বরূপ দেখতে আমার নিজের সরঞ্জামটি লিখেছিলাম।

https://github.com/Audionysos/VSProjectReferencesViewer

এটি প্রাথমিক পর্যায়ে তবে এটি আমার প্রয়োজনের জন্য কাজ করেছে :)

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