كيف يمكنني إنشاء "مخطط شجرة التبعية" من حل .NET الخاص بي

StackOverflow https://stackoverflow.com/questions/80287

  •  09-06-2019
  •  | 
  •  

سؤال

يمكنني بسهولة رؤية المشاريع وملفات dll التي يشير إليها مشروع واحد من داخل مشروع Visual Studio .NET.

هل هناك أي تطبيق أو استخدام للانعكاس يمكن أن يبني لي شجرة تبعية كاملة يمكنني استخدامها لرسم مخطط رسومي للتبعيات؟

هل كانت مفيدة؟

المحلول

بالإضافة إلى NDepend، يمكنك أيضًا تجربة هذه الوظيفة الإضافية العاكس لإظهار الرسم البياني لتبعية التجميع.

نصائح أخرى

يأتي NDepend مزودًا برسم بياني تبعي تفاعلي مقترن بمصفوفة تبعية.أنت تستطيع قم بتنزيل واستخدام الإصدار التجريبي المجاني من NDepend لفترة من الوقت.

المزيد عن الرسم البياني للتبعية NDepend enter image description here

المزيد عن مصفوفة التبعية NDepend: enter image description here

تنصل:أنا جزء من فريق الأدوات

كنت بحاجة إلى شيء مماثل، ولكني لم أرغب في الدفع مقابل (أو تثبيت) أداة للقيام بذلك.أنا أنشأنا برنامج PowerShell النصي السريع الذي يمر عبر مراجع المشروع ويبصقهم في yml.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"

Sample Graph

يمكنك إنشاء رسم بياني تبعية للمشاريع والتجميعات في Visual Studio 2010 Ultimate باستخدام Architecture Explorer لاستعراض الحل الخاص بك، وتحديد المشاريع والعلاقات التي تريد تصورها، ثم إنشاء رسم بياني للتبعية من التحديد الخاص بك.

للمزيد من المعلومات راجع المواضيع التالية:

كيف:إنشاء مستندات الرسم البياني من التعليمات البرمجية: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

كيف:ابحث عن الكود باستخدام Architecture Explorer: http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

تحميل RC: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a.

Visual Studio 2010 أدوات الاكتشاف والنمذجة المعمارية المنتدى: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

الهيكل101 تستطيع أن تفعل ذلك.يمكنك تصفح النموذج عن طريق التجميع و/أو مساحة الاسم، والنقر على أي تبعية على أي مستوى يمنحك جميع المراجع على مستوى التعليمات البرمجية التي تسبب التبعية.إصدار .NET في مرحلة تجريبية، ولكنه متاح للغات أخرى منذ سنوات، لذا فهو ناضج جدًا.وهنا مثال لقطة الشاشة.نص بديل http://www.headwaysoftware.com/images/assemblies.jpg

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top