Aracılığıyla paylaş


Kodunuzdaki bağımlılıkları bağımlılık grafikleri ile eşleme

Kodunuz boyunca bağımlılıkları anlamak istediğinizde, bunları Visual Studio Ultimate ile eşleyin.Tüm kodunuz boyunca bağımlılıkları anlamak istediğinizde, bunları kod haritaları (Visual Studio Ultimate yalnızca) oluşturarak düşünün.Bu, nasıl kod birlikte dosyaları ve kod satırıyla, okumadan uyguladığı görmenizi sağlar.

Seçili öğeleri ve genişletilmiş grupları ile grafik

Bazı videoları şunlardır:

İşte gerekenler:

  • Visual Studio Ultimate 2013

  • Visual C# .NET veya Visual Basic .NET kodda bir çözüm ya da (.dll veya .exe) derlemeleri

  • Yerel veya yönetilen C veya C++ kodu Visual C++ projeleri, üstbilgi dosyaları (.h veya #include), veya ikili dosyaları

  • Visual Studio 2013 Update 3 bağımlılıkları eşlemek için:

    • Birden çok uygulama arasında kodunuzu paylaşmak projeleri

    • X ++ projeleri ve Microsoft Dynamics AX için .NET modüllerinden yapılan derlemeleri

    Ayrıca, derlemeleri ve ikili dosyalar Windows Gezgini'nden varolan bir grafiğe sürükleyin ve ren kodlu ilişkileri alın.

Buradan başlayın:

  • Görmek için Genel bağımlılıkları çözümünüzün arasında Git mimarisi menü.Tıklatın bağımlılık grafiği oluşturmak, Çözüm için.

    - veya -

  • Görmek için belirli bağımlılıkları açın, çözümünüzdeki Çözüm Gezgini.Projeleri, derleme başvuruları, klasör, dosyalar, türleri veya sizi ilgilendiren üyeleri seçin.Üzerinde Çözüm Gezgini araç tıklatın Yeni bir grafik belgesi oluşturunYeni bir grafik seçili düğümler düğmesinden oluşturun.

Ayrıca şunları da yapabilirsiniz:

  • C veya C++ kaynak dosyaları ve üstbilgi dosyaları arasındaki bağımlılıkları bakın

  • Bağımlılık grafikleri paylaşın

  • Programlı olarak grafikleri oluşturun

Genel bağımlılıklara

Çözümünüzün arasında bağımlılıklara

  1. Üzerinde mimarisi menüsünde tıklatın bağımlılık grafiği Oluştur, için çözüm.

    Üst düzey derlemeleri ve bunların arasında toplanmış bağlantıları gösteren bir grafik alırsınız.Daha geniş birleşik bağlantı, daha fazla bağımlılıkları temsil eder.Dışlar grubu, platform bağımlılıkları da dahil olmak üzere çözümünüzün dışındaki her şeyi içerir.Dış derlemeler yalnızca kullanılan öğeleri gösterir.

    Derlemelerin en üst düzey bağımlılık grafiği

  2. Derleme içine görmek için genişletin.Fare imlecinizi bir derleme üzerine getirin ve ardından köşeli çift ayracı (^) ne zaman görünür.(Klavye: öğe seçin sonra basın artı anahtarı (+).) Kod derinliklerine düzeyleri keşfetmek için ad alanları, türleri ve üyeleri için aynı yapın.

    Gruplandırılmış düğümleri içeren bağımlılık grafiği

    Varsayılan olarak, kapsama ilişkileri olarak görünür grupları, hangi genişletin ve Daralt.Grafik kısayol menüsündeki bağlantılar olarak Grup ilişkileri görmek için tıklatın grubu, 'yı kapatmak gruplandırma.

    Düğümler ve bağlantılarla bağımlılık grafiği

  3. Bir toplama bağlantısıyla temsil edilen öğeleri ve bağımlılıkları incelemek için önce bağlantıyı seçin ve ardından kısayol menüsünü açın.Tıklatın Göster, Geçerli diyagram bağlantılar katkıda bulunan veya Yeni bir diyagram bağlantılar katkıda bulunan.

    Visual Studio, bağlantının her iki ucunda da grupları genişletir ve yalnızca bağlantıya katılan öğe ve bağımlılıkları gösterir.

  4. Bir öğe veya bağlantı hakkında daha fazla bilgi almak için bir araç ipucu görünene kadar işaretçiyi öğe üzerine taşıyın.Bu bağlantıyı temsil ettiğini kategorileri gösterir.

  5. Bağlantı rengi, Grafik araç çubuğunda anlamı görmek için tıklatın Gösterge.

    Yeşil bir bağlantı görürseniz, yalnızca bir miras alma ilişkisi yok anlamına gelmez.Ayrıca yöntem çağrılarını de olabilir, ancak bunlar tarafından miras alma ilişkisi gizlenir.

  6. Grupları içindeki üyeleri arasında bağımlılıkları görmek için bir grafik öğesinin'ı tıklatın.

    Seçili öğeleri ve genişletilmiş grupları ile grafik

  7. Olası sorunlar, kodunuzun bulmak için bir çözümleyicisini çalıştırın.

Bkz.

Derlemeleri veya ikili dosyaları arasında bağımlılıklara

  • Boş bir grafik oluşturun veya varolan grafiği (.dgml dosyası) açın.Derlemeleri veya ikili dosyaları Visual Studio'nun dışından grafiğe sürükleyin.

    [!NOT]

    Derlemeleri ve ikili dosyaları Windows Gezgini'nden, yalnızca Windows Gezgini'ni ve Visual Studio'yu aynı Kullanıcı Erişim Denetimi (UAC) izni düzeyinde çalıştırıyorsanız sürükleyebilirsiniz.Örneğin, UAC açıksa ve Visual Studio'yu Yönetici olarak çalıştırıyorsanız, Windows Gezgini sürükleme işlemini engelleyecektir.Bu sorunu gidermek için Visual Studio'nun Yönetici olarak çalıştığından emin olun veya UAC'yi kapatın.Windows 8'de, Windows Explorer'un Dosya Gezgini olduğuna dikkat edin.

Boş bir grafik oluşturun

  1. İçindeki Çözüm Gezgini, kendi üst düzey çözüm düğümü için kısayol menüsünü açın.Tıklatın Ekle, Yeni öğe.

  2. Altında yüklü, tıklatın Genel.

  3. Sağ bölmede yönlendirilmiş grafik belgesi.

    Şimdi çözümünüzün içinde görünen boş bir grafik sahip Çözüm öğeleri klasör.

    Yeni boş bir grafik, çözümünüze, üzerinde eklemeden açmak için Dosya menüsünde tıklatın Yeni, Dosya.

    Boş bir grafik modelleme projesine eklemek için açın mimarisi menüsünde tıklatın Yeni Diyagram.

Soru - Yanıt

S: neden kadar grafik oluşturmak için sürüyor?

Y: ilk kez bir grafik oluşturduğunuzda, Visual Studio bulduğu tüm bağımlılıkları dizinler.Bu işlem büyük çözümleri özellikle için biraz zaman alabilir, ancak bu sonraki performansı artırır.Kodunuzu değiştirirse, Visual Studio güncelleştirilen kodun reindexes.Grafik için beklenecek istemiyorsanız, bu adımı herhangi bir zamanda iptal etmek ve bunu deneyin:

  • Yalnızca ilginizi çeken bağımlılıkların grafiğini oluşturun.

  • Çözümün tamamı için grafik oluşturmadan önce çözüm kapsamını azaltın.

Visual Studio, 1 GB bellekle çalışabilir, ancak Visual Studio kod dizini ve grafik oluştururken uzun gecikmeleri önlemek için en az 2 GB belleğe sahip olmanızı öneririz.

Çözüm Gezgini'nden grafik oluşturmak veya grafiğe öğe eklemek, proje öğesinin Çıktı Dizinine Kopyala özelliği Her Zaman Kopyala olarak ayarlandığında daha uzun sürebilir.Bu, artımlı yapılarla ve Visual Studio'nun projeyi her seferinde yeniden oluşturmasıyla ilgili sorunlara neden olabilir.Performansı artırmak için, bu özelliği Daha yeniyse kopyala veya PreserveNewest olarak değiştirin.Bakın Artımlı Derlemeler.

S: neden Visual Studio benim grafik oluşturma oldu?

Y: projeleri, çözümünüzdeki hiçbiri başarıyla oluşturulan nedeniyle gerçekleşebilir.En az bir proje başarıyla oluşturulursa, Visual Studio bir grafik oluşturur.Grafik başarıyla oluşturulmuş kod yalnızca bağımlılıklarını gösterir.Yapı hataları belirli bileşenlerin olduğunda bu hataları grafikte görünür.Grafik üzerinde temel mimari kararlar almadan önce bir bileşenin gerçekten oluştuğundan ve bağımlılıkları olduğundan emin olun.

Belirli bağımlılıkları bakın

Örneğin, bazı dosyaları bekleyen değişiklikler gerçekleştirmek için bir kod gözden geçirme olduğunu varsayın.Bu değişiklikler bağımlılıkları görmek için bu dosyalardan bir bağımlılık grafiği oluşturun.

Gruplandırılmış düğümleri içeren bağımlılık grafiği

Belirli bağımlılıklara çözümünüzdeki

  1. Açık Çözüm Gezgini.Projeleri, derleme başvuruları, klasörler, dosyalar, türleri ve sizi ilgilendiren üyeleri seçin.

  2. Öğelerinizi ve üyeleri grafik.Üzerinde Çözüm Gezgini araç tıklatın Yeni bir grafik belgesi oluşturunYeni bir grafik seçili düğümler düğmesinden oluşturun.

    Türleri veya üyeleri bağımlı öğelerini bulmak için türü veya üyenin kısayol menüsü'nden açın Çözüm Gezgini.Bağımlılık türünü tıklatın.Ardından sonuçlar'ı seçin.

    Nasıl belirli kodu görselleştirin

    Üst hiyerarşileri, öğeleri eklemek için Çözüm Gezgini araç, açık Yeni bir grafik belgesi oluşturun... listesi.Tıklatın öncüleri ile yeni bir bağımlılık grafiği.

    Belirli bir kod ve üst öğelerini görselleştirmek nasıl

    Öğeleri boş veya varolan bir grafiğe sürükleyerek de.Boş bir grafik oluşturmak için Dosya menüsünde tıklatın Yeni, Dosya, yönlendirilmiş grafik belgesi.Öğelerinize ilişkin üst öğe hiyerarşisini dahil etmek için, öğeleri sürüklerken CTRL tuşuna basın ve basılı tutun.

    [!NOT]

    Windows Phone veya Windows Mağazası gibi birden fazla uygulama arasında paylaşılan bir projeden öğeler eklediğinizde, bu öğeler etkin olan projeyle eşlemede görünür.Bağlamı başka bir uygulama projesi olarak değiştirirseniz ve paylaşılan projeden daha fazla öğe eklerseniz, bu öğeler yeni etkin olan uygulama projesiyle görünür.Eşleme üzerinde bir öğeyle gerçekleştirdiğiniz işlemler, yalnızca aynı bağlamı paylaşılan öğeler için geçerlidir.

  3. Öğeleri keşfetmek için bunları genişletin.Bir öğe üzerinde fare işaretçiyi ve köşeli çift ayracı'i tıklatın (^) belirdiğinde düğmesi.Tüm öğeleri genişletmek için grafiğe ilişkin kısayol menüsünü açın.Tıklatın grubu, Tümünü Genişlet.

    [!NOT]

    Tüm grupları genişletme kullanılamaz bir grafik veya bellek sorunları oluşturursa, bu seçenek kullanılamaz.

  4. Grafik üzerinde kodda olan, ancak görünmüyor üyeleri görmek için tıklatın yeniden getirmesi altAlt simge yeniden getirmesi.Bu grup üyeleri ile farklı bir stil görünecek ve daha kolay görebilirsiniz.Bakın Bağımlılık grafiklerini düzenleme ve özelleştirme.

  5. Bu grafikteki ilgili daha fazla öğe görmek için bu öğeye ait kısayol menüsünü açın.Tıklatın Göster ve sizi ilgilendiren ilişki türü.

    Bir derleme için tıklatın:

    Başvurulmuş Derlemeler

    Bu derlemenin başvurduğu derlemeleri ekleyin.Dış derlemeler, Dışlar grubunda görüntülenir.

    Başvurulan Derlemeler

    Çözümde bu derlemeye başvuran derlemeleri ekleyin.

    Bir sınıf için tıklatın:

    Taban Türleri

    Bir sınıf için temel sınıf ve arabirimler uygulanan ekleyin.

    Bir arabirim için temel arabirimleri ekleyin.

    Türetilmiş Türler

    Türetilen sınıflar için bir sınıf ekleyin.

    Bir arabirim için türetilmiş arabirimleri ve uygulama sınıflarını veya yapılarını ekleyin.

    Tüm Taban Türler

    Yinelemeli olarak taban sınıf veya arabirim hiyerarşisi ekleyin.

    Tüm Türetilmiş Türler

    Bir sınıf için tüm türetilmiş sınıfları yinelemeli olarak ekleyin.

    Bir arabirim için türetilmiş tüm arabirimleri ve uygulama sınıflarını veya yapılarını yinelemeli olarak ekleyin.

    Kapsama Hiyerarşisi

    Üst kapsayıcı hiyerarşisini ekleyin.

    Kullanılan Türleri

    Tüm sınıfları ve bu sınıfın kullandığı üyeleri ekleyin.

    Kullanan Türleri

    Tüm sınıfları ve bu sınıfı kullanan üyelerini ekleyin.

    Bir yöntem için tıklatın:

    Kapsama Hiyerarşisi

    Üst kapsayıcı hiyerarşisini ekleyin.

    Çağırma Yöntemleri

    Bu yöntemin çağırdığı yöntemleri ekleyin.

    Çağıran Yöntemleri

    Bu yöntemi çağıran yöntemleri ekleyin.

    Taban Türlerdeki Geçersiz Kılınmış Yöntemler

    Diğer yöntemleri geçersiz kılan veya bir arabirimin yöntemini uygulayan bir yöntem için geçersiz kılınan taban sınıflardaki tüm soyut ya da sanal yöntemleri ve varsa arabirimin uygulanan yöntemini ekleyin.

    Başvurulan Alanlar

    Bu yöntemin başvurduğu alanları ekleyin.

    Bir alan için tıklatın:

    Kapsama Hiyerarşisi

    Üst kapsayıcı hiyerarşisini ekleyin.

    Başvuran Yöntemleri

    Bu alana başvuran yöntemleri ekleyin.

Belirli bağımlılıklara derlemeleri veya ikili dosyaları

  1. Üzerinde mimarisi menüsünde tıklatın Windows, Mimari Gezgini.

  2. İlk sütun altında Dosya sistemi, tıklatın Dosyaları Seç.

  3. kutusunda, derlemeleri veya ikili dosyaları bulup seçin.Tıklatın Açık sonraki sütunda eklemek için Mimari Gezgini.

  4. Sonraki sütunda, derlemeleri ve ikili dosyaları seçin.

    Varsayılan olarak bir sonraki sütunda, seçili öğelerin içerdiği öğeler gösterilir.

    İpucuİpucu

    İlgili öğeleri seçmek için daraltılmış sütunu seçimlerinizle sütunun sağına genişletin.Node Navigation (Düğüm Gezme) altında, istediğiniz öğe türlerini seçin.Outbound Navigation (Giden Gezinti) veya Inbound Navigation (Gelen Gezinti) altında, istediğiniz tür ilişkileri seçin.Bakın Mimari Gezgini ile kod bulma.

  5. Grafiğe koymak istediğiniz tüm öğeleri bulun ve seçin.

  6. Yeni bir grafik oluşturmak için Mimari Gezgini araç tıklatın Seçili düğümünden yeni bir grafik belgesi oluşturunYeni bir grafik seçili düğümler düğmesinden oluşturun.

    -veya-

    Seçiminizi bir grafiğe eklemek için şu adımları izleyin:

    1. Grafiğin .dgml dosyasını açın veya boş bir grafik oluşturun.

    2. Üzerinde Mimari Gezgini araç çubuğu tıklatın görüntülenmekte grafik belgeye seçilen tüm düğümleri eklemekDüğme grafik haline getirmek tüm seçili düğümleri ekleyin.

      -veya-

      Öğeleri Architecture Explorer (Mimari Gezgini)'nden grafiğe sürükleyin.

C ve C++ kaynak dosyaları ve üstbilgi dosyaları arasındaki bağımlılıkları bakın

C++ projeleri için daha kapsamlı grafikleri oluşturmak isterseniz, Gözat bilgileri derleyici seçeneği ayarlanmış (/FR) o projelerde.Bakın /FR, /Fr (.Sbr Dosyası Oluştur).Aksi durumda, bir ileti görüntülenir ve bu seçeneği ayarlamanızı ister.Seçerseniz Tamam, bu seçeneği yalnızca geçerli grafik için ayarlar.İleti için tüm daha sonra grafikleri gizlemek seçebilirsiniz.Bu iletiyi Gizle, yeniden görüntülenmesini yapabilirsiniz.Aşağıdaki kayıt defteri anahtarını ayarlanan 0 veya anahtar Sil:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\NativeProvider : AutoEnableSbr

Visual C++ projeleri içeren bir çözümü açtığınızda, IntelliSense veritabanını güncelleştirmek biraz zaman alabilir.Bu süre boyunca, IntelliSense veritabanı güncelleştirmeyi bitirinceye kadar üstbilgi (.h veya #include) dosyaları için bağımlılık grafikleri oluşturamayabilir.Visual Studio durum çubuğunda güncelleştirme ilerleme durumunu izleyebilirsiniz.Sorunları veya belirli IntelliSense ayarları devre dışı bırakıldığından görünen iletileri çözümlemek için bkz gidermek için C ve C++ kodu grafikleri.

  • Tüm kaynak dosyaları ve üstbilgi dosyaları, çözümünüzdeki arasındaki bağımlılıkları görmek için mimarisi menüsünde tıklatın bağımlılık grafiği Oluştur, içerik dosyası için.

    Yerel kod için bağımlılık grafiği

  • Şu anda açık dosya ve ilgili kaynak dosyaları ve üstbilgi dosyaları arasında bağımlılıkları görmek için kaynak dosya veya başlık dosyasını açın.Dosya içinde herhangi bir dosya kısayol menüsünü açın.Tıklatın dosyaları grafiği oluşturmak.

    .H dosyası için birinci düzey bağımlılık grafiği

C ve C++ kodu için grafikleri sorunlarını gider

Bu öğeler için C ve C++ kodu desteklenmez:

  • Taban türler, üst hiyerarşiyi içeren grafikler üzerinde görüntülenmez.

  • Çoğu Göster menü öğeleri, C ve C++ kodunda kullanılmaz.

Bağımlılık grafikleri C ve C++ kodu için oluşturduğunuzda, bu sorunlar oluşabilir:

Sorun

Olası neden

Çözüm

Bağımlılık grafiği oluşturulamadı.

Çözümdeki hiçbir proje başarıyla oluşturulmadı.

Oluşan yapı hatalarını düzeltin ve grafiği yeniden oluşturun.

Visual Studio, Mimari menüsünde bağımlılık grafiği oluşturmayı denediğinizde yanıt vermez.

Program veritabanı (.pdb) dosyası bozulmuş olabilir.

.pdb dosyası; tür, yöntem ve kaynak dosya bilgileri gibi hata ayıklama bilgilerini depolar.

Çözümü yeniden oluşturun ve tekrar deneyin.

IntelliSense göz atma veritabanı için belirli ayarlar devre dışı bırakılır.

Belirli IntelliSense ayarları devre dışı Visual Studio Seçenekleri iletişim kutusu.

Bunları etkinleştirmek için ayarlarını etkinleştir.

Bakın Seçenekler, Metin Düzenleyici, C/C++, Gelişmiş.

İleti Bilinmeyen Yöntemleri bir yöntem düğümünde görünür.

Yöntemin adı çözümlenemediği için bu sorun oluşur.

İkili dosya temel yerleştirme tablo sahip olmayabilir.

' Yı açmak /FIXED:NO bağlayıcı seçeneği.

Bakın /FIXED (Sabit Temel Adres).

Program veritabanı (.pdb) dosyası oluşturulmamış olabilir.

.pdb dosyası; tür, yöntem ve kaynak dosya bilgileri gibi hata ayıklama bilgilerini depolar.

' Yı açmak /DEBUG bağlayıcı seçeneği.

Bakın /DEBUG (Hata Ayıklama Bilgileri Üret).

.pdb dosyasını beklenen konumda açamıyor veya bulamıyor.

.pdb dosyasının beklenen konumlarda var olduğundan emin olun.

Hata ayıklama bilgileri, .pdb dosyasından çıkarıldı.

Bağlayıcıda /PDBSTRIPED seçeneği kullanıldıysa, bunun yerine tam .pdb dosyasını dahil edin.

Bakın /PDBSTRIPPED (Özel Simgeleri Çıkart).

Arayan bir işlev değildir ve ikili dosyada bir dönüştürücü ya da veri bölümünde bir işaretçidir.

Arayan bir dönüştürücü olduğunda, dönüştürücüden kaçınmak için _declspec(dllimport) kullanmayı deneyin.

Bkz.

Bağımlılık grafikleri paylaşın

Grafik Visual Studio kullanıcılarıyla paylaşmak

  • Grafiği kaydetmek için Dosya menüsünü kullanın.

    -veya-

    Grafiği belirli projenin bir parçası olarak kaydetmek için grafik yüzeyinin kısayol menüsünü açın.Tıklatın Taşı <DependencyGraphName.dgml> içine ve grafik kaydetmek istediğiniz yeri proje.

    Visual Studio; Visual Studio Ultimate, Visual Studio Premium ve Visual Studio Professional'ın diğer kullanıcıları ile paylaşabileceğiniz bir .dgml dosyası olarak grafiği kaydeder.

    [!NOT]

    Bir grafiği, Visual Studio Premium ve Visual Studio Professional kullanan kişilerle paylaşmadan önce, grupları genişlettiğinizden, gizli düğümleri ve çapraz grup bağlantılarını gösterdiğinizden ve başkalarının grafiğinizde görmesini istediğiniz silinmiş düğümleri aldığınızdan emin olun.Aksi takdirde, diğer kullanıcıların bu öğeleri görmesi mümkün olmayacaktır.

    Modelleme projesinde ya da başka bir konuma modelleme projeden kopyalanan bir grafiği kaydettiğinizde şu hata oluşabilir:

    "Kaydedilemiyor fileName proje dizinine dışında.Bağlantılı öğeler desteklenmez."

    Visual Studio hatayı gösterir, ancak kaydedilen sürümü de oluşturur.Hatayı önlemek için grafiği modelleme projesinin dışında oluşturun.Ardından istediğiniz konuma kaydedebilirsiniz.Yalnızca çözümdeki başka bir konuma dosya kopyalama ve onu kaydetmeye çalışmak başarısızlıkla sonuçlanacaktır.

Microsoft Word veya PowerPoint gibi diğer uygulamalara kopyalayabilmeniz için grafiği görüntü olarak dışarı aktarma

  1. Grafik yüzey 's kısayol menüsünü açın.Tıklatın Düzenle, görüntüyü Kopyala.

  2. Görüntüyü başka bir uygulamaya yapıştırın.

Grafiği Internet Explorer gibi XML veya XAML görüntüleyicilerde görebilmeniz için XPS dosyası olarak dışarı aktarma

  1. Grafik yüzey 's kısayol menüsünü açın.Tıklatın XPS olarak Kaydet.

  2. Dosyasını kaydetmek istediğiniz yere göz atın.

  3. Grafiği adlandırın.Kayıt türü kutusunun XPS dosyaları (*.xps) olarak ayarlandığından emin olun.Tıklatın Kaydet.

Programlı olarak grafikleri oluşturun

Grafik oluşturmak için belgeleri (.dgml dosyaları) toplu işleme sırasında çalışabilmesi için Çalıştır GraphCmd.exe komut satırı aracı.Örneğin, yapı arasında değişen bağımlılıkları bulmak için her bir yapı sonra aracı çalıştırın.Bu aracı bulmak için bu klasöre bakın: C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE.

GraphCmd.exe yalnızca .NET kodunu destekler ve Visual Studio çözümünde veya proje dosyalarındaki kaynak kodu değil, yalnızca derlemeler ya da .dgml dosyaları için bağımlılık bilgileri üretir.GraphCmd.exe Visual Studio dışında çalışır, bu nedenle DGQL sorgularındaki eylemlerin desteği sınırlıdır.

GraphCmd.exe sözdizimi aşağıdadır:

GraphCmd -? -all -exceptions -input File_Name -query File_Name -exec "DGQL_Statement" -output File_Name -path alias=path

GraphCmd.exe için seçenekleri şunlardır:

Bu seçenekleri birden çok kez belirleyebilirsiniz: -input, -query, -exec, ve -path

-?

GraphCmd.exe için yardım konularını görüntüleyin.

-all

Yalnızca son düğüm kümesinin değil, tüm ara sorguların sonuçlarını içerir.

-exceptions

Sorgu istisnalarını grafik belgesi (.dgml) dosyası olarak raporlayın.

-input Dosya_adı

Belirtilen .dgml dosyasını işleyin.

Bu, büyük bir .dgml dosyasını sonradan işlemek ve filtrelemek için gereklidir. Böylece dosyayı Visual Studio içinde daha kolay görselleştirebilirsiniz.

-query Dosya_adı

Belirtilen Yönlendirilmiş Grafik Sorgu Dili (DGQL veya.dgql) dosyasını çalıştırın.

Bkz.

-exec "DGQL_Statement"

Belirtilen DGQL deyimi çalıştırın.

Bkz. Yönlendirilmiş Grafik Sorgu Dilini (DGQL) Anlama.

-output Dosya_adı

Belirtilen .dgml dosyasını çıktı.

-path alias=path

Giriş ve çıkış DGML belgelerinin kullanmak için yeni bir ad belirtin.

Örneğin:

GraphCmd -output MyGeneratedGraph.dgml -path "MyPathAlias=C:\Program Files\..."

Bkz. Yaygın Olarak Kullanılan Yolların Takma Adları.

Sık kullanılan yolların diğer adları

Sık kullanılan yolların diğer adları, .dgml dosyasının boyutunu ve dosyayı yüklemek veya kaydetmek için gereken süreyi azaltır.Bir diğer ad oluşturmak için .dgml dosyasının sonundaki bölüme bir <Paths></Paths> öğesi ekleyin.Bu bölümde, yolun eş yolunu tanımlamak için bir <Path/> öğesi ekleyin:

<Paths>
   <Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>

Diğer .dgml dosyasındaki bir öğeden başvurmak için alın Id < yol / > öğesi dolar işareti ($) ve parantez (()):

<Nodes>
   <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
   <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>

.Dgml dosyaları düzenlemek için bkz Bağımlılık grafiklerini düzenleme ve özelleştirme.

Daha fazla bilgi yönlendirilmiş grafik sorgu dil'hakkında (DGQL) edinin

DGQL, DGML oluşturmak için kullanabileceğiniz bir hafif sorgu dilidir.DGQL deyimi, çıkışın bir sonraki düğüm seçiminde giriş haline gelmesi gibi her düğüm seçiminin sonraki eylem için giriş oluşturduğu değişen bir düğüm seçim ve eylem modeli izler.

Bir DGQL deyiminin biçimi şöyledir:

<node selection> / <action> / <node selection> / <action> / ...

Aşağıdaki tablo düğümleri seçmek için kullanılan DGQL sözdizimini açıklar:

*

Tüm düğümleri seçin.

+ "text"

İçeren tüm düğümleri seçin "metin".

+ Id.Equals("text")

Tüm düğümleri seçin, Id eşittir "metin".

+ Background.Contains("text")

Tüm düğümleri seçin, Background özniteliği dizesini içeren bir değere sahip "metin".

+ "text1" + "text2" + ...

Eşleşen tüm düğümleri seçin "Metin1"veya"metin2".

+ MyProperty="True"

Adlandırılmış bir özelliği olan tüm düğümleri seçin MyProperty "True" değeri olan.

- Label.Contains("text")

Olanlar dışındaki tüm düğümleri seçin bir Label özniteliği Contains dize "metin".

+ Category.Is("MyCategory")

Adlandırılmış kategorisi olan tüm düğümleri seçin MyCategory veya devraldığı MyCategory.

Aşağıdaki tablo seçilen düğümlerde gerçekleştirilebilecek doğrudan eylem örneklerini açıklar:

Örnek eylem

Açıklama

Microsoft.Contains

Giriş düğümlerinde saklanan tüm düğümleri geri döndürür.Contains uygulamasını farklı bir bağlantı kategorisiyle değiştirebilirsiniz.

Microsoft.Open

Giriş düğümleri için kaynak kodunu açın.

[!NOT]

Yalnızca Visual Studio ile çalışır.

Microsoft.AllOutBoundLinks

Giriş düğümlerinden giden bağlantının hedef tarafında bulunan tüm düğümleri geri döndürür.

Microsoft.AllInboundLinks

Giriş düğümleri bağlantısının kaynak tarafında bulunan tüm düğümleri geri döndürür.

Microsoft.Core.CreateGroupsByProperties

Çağırma GroupByProperties eylem.

Microsoft.AllNodes

Grafiğin tamamında bugüne kadarki tüm düğümleri döndürür.

Veri tabanlı eylemler yalnızca giriş düğümleri ve bağlantılar üzerindeki verilere bağlı öğeleri seçer.Veri tabanlı eylemleri kullanarak kategorileri eşleştirirken devralınan kategoriler de dahil edilir.Aşağıdaki tablo veri tabanlı eylem örneklerini açıklar:

Tür

Açıklama

Node:Both:Category

Kategorisi Category olan ve giriş düğümlerine iki yönde işaret eden bir bağlantı ile bağlı bütün düğümleri geri döndürür.

Link:Both:Category

Giriş düğümleri ile bağlı bütün düğümleri, iki yönde işaret eden bir bağlantı ile geri döndürür ve Category kategorisi vardır.

Link:Backward:Category

Kategorisi Category olan bir bağlantı ile giriş düğümlerine işaret eden tüm düğüm noktalarını döndürür.

Link:Forward:Category

Kategorisi Category olan bir bağlantı ile giriş düğümlerinden işaret edilen tüm düğüm noktalarını döndürür.

İpuçları

  • Genellikle belirli bir takım giriş düğümleri için Mimari Gezgini tarafından otomatik olarak seçilen bir "varsayılan" eylem vardır.Aynı davranışı sağlamak için boş bir eylem kullanın: //

  • DGQL içindeki boşluk önemli değildir, bu yüzden sorgunuzu gerekirse bir satıra sığacak şekilde biçimlendirebilirsiniz.Kullandığınız gerektiğinde bu faydalıdır –exec seçeneğini GraphCmd.

  • DGQL'i hata ayıklarken, sorgunun her bir adımını görmenize ve beklenen sonuçları üretmeyen adımı bulmanıza yardımcı olması için Mimari Gezgin'deki "Execute Expanded" eylemini kullanın.

Örnek

Aşağıdaki DGQL anlatımı aşağıdaki adımlarda belirtildiği gibi bir sorgu yürütür:

+ Id.Equals("Microsoft.Solution.ClassView") / "Microsoft.Solution.ClassView" / * / "Node:Both:CodeSchema_Class" / + CodeSchemaProperty_IsPublic.Equals("True")
  1. Tıklatın Sınıf Görünümü ilk sütunu düğümünde Mimari Gezgini.

  2. Eylemi gerçekleştirmek "Microsoft.Solution.ClassView", tüm ad alanları çözümde döndürüyor.

  3. Kullanım * tüm ad alanları seçin.

  4. CodeSchema_Class kategorisi olan ve bu ad alanlarına herhangi bir yönde bir bağlantıyla ilişkili olan tüm düğümleri seçin.Bunlar genellikle kapsama bağlantılarıdır.

  5. Sonuç sınıflarını yalnızca CodeSchemaProperty_IsPublic="True" özelliğine sahip olanlar biçiminde filtreleyin.

Teknik olarak "Microsoft.Solution.ClassView" eylemi Class View düğümü için "varsayılan" eylem olduğundan gereksizdir.Bu yüzden, sorguyu basitleştirmek ve tek bir satırda aşağıdaki gibi biçimlendirmek için, bu eylemi // öğesiyle değiştirebilirsiniz:

+Id.Equals("Microsoft.Solution.ClassView")//*/"Node:Both:CodeSchema_Class"/+CodeSchemaProperty_IsPublic.Equals("True")

Başka ne yapabilirim?

Daha fazla bilgiyi nereden bulabilirim?

Kategori

Bağlantılar

Forumlar

Bloglar