2015-03-25 8 views
5

Visual Studio 2012'ye nasıl özel bir "Run/Debug in X" komutunu ekleyebilirim?Özel Visual Studio için "Çalıştır/Hata ayıkla X" komutu/eklentisi

C# /. NET uygulamasına sahibim, buna, yüklenebilir eklentileri destekleyen "X" diyelim. Bir eklenti yazmak için, Visual Studio'da yeni bir C# Sınıf Kitaplığı projesi oluşturuyorum, belirli bir derleme referans verip kodumu yazarım. Eklentiyi test etmek için, derlenmiş eklenti DLL dosyasını belirli bir çalışma dizinine kopyalamalı, bir XML yapılandırma dosyası yazmalı ve X'i çalıştırmalıyım. Bunu bir Post-Build Olayı ve projenin Debug özelliklerini kullanarak otomatikleştirebilirim ("Start external" Program ").

Ancak, gerçekten istediğim, Hata Ayıkla'yı tıklatıp ardından, bir "eklenti X" (veya "Hata ayıkla X") komutunu tıklatıp, bunları yapmak için bir çeşit eklenti veya komut dosyası çalıştırır. Komut dosyası bir X config dosyası, çalışma zamanı dizini yaratmayı, DLL'yi kopyalamayı, X uygulamasını başlatmayı ve hata ayıklayıcısını buna eklemeyi başaracaktır.

Bunu gerçekleştirmek için bir Visual Studio eklentisi yazmak istiyorum, ancak nereden başlayacağınızı gerçekten bilmiyorum.

cevap

0

Bunu yapmanın en kolay yolu, bir PowerShell post-build olayı çalıştırmak ve uygulamayı harici olarak başlatmak için Debug yapınızı yapılandırmaktır.

Projenizde bir "Debug.ps1" dosyası oluşturun ve bunu BuildAction = İçerik, Kopyala = Her Zaman Kopyala olarak ayarlayın. Hata ayıklama önkoşullarınızı buradan indirin. senin Debug içinde

Get-ChildItem | Copy-Item -Destination C:\ExternalApp\Plugins -Force 
#build config, etc here 

Çağrı bu olayları C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File Debug.ps1

F5 Hit sonrası oluşturmak ve harici uygulama ekli yüklü eklenti ve hata derleyicisi son kopya ile başlatacak.

0
  • tüm ağır kaldırma (, dizin, yapılandırma dosyası oluşturma dll hareketli ve başlangıç ​​X)

  • Her yapı üzerinde şablonu nasıl çalıştırılacağı için this answer bakınız yapan bir T4 şablonu yaz . Bir sonrası build olayı olarak

  • Oluştur bu ayarlama - Bu yolu, seni başarmak istediğiniz şey için bir öğretici olarak EnityFramework varsayılan tempaltes öneriyoruz>Attach to X

. Bir dosya oluşturmak ve değiştirmek için C# nasıl kaldıracağını gösteren sınıfları olan bir yardımcı program şablonu kullanırlar. Oradan, bir dosyanın var olup olmadığını, bir dosyayı hareket ettirdiğini, hatta X'in (Process.Start("X.exe");) başladığını kontrol edin.

Varsayılan EF şablonlarını %ProgramFiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\ adresinde bulabilirsiniz.