2016-05-26 17 views
-1

erstellen Ich mag würde ein Visual Studio-Erweiterung erstellen, die die folgenden tun sollten:VSIX dynamisch DLL-Dateien

  1. Öffnen Sie einen Datei-Dialog und wählen Sie eine Haskell-Quelldatei
  2. Starten Sie eine ausführbare Datei (sollte integriert werden in der VSIX), die eine DLL aus dieser Haskell-Quelldatei (hs2lib) erstellt.
  3. Fügen Sie die erstellte DLL-Datei zu meiner aktuellen Lösung als Referenz

Der Zweck der Erweiterung sein sollte, dass ich automatisch eine DLL von einer Haskell-Quelldatei und rufen Sie erstellen kann es in meinem C# -Code.

Ist das alles mit einer Erweiterung möglich und welche Art von Erweiterung (Toolbox, Menucommand, ...) ist dafür am besten geeignet?

+0

Seine sicherlich möglich, es liegt an Ihnen, ob Sie eine Schaltfläche in der Symbolleiste oder Menüpunkt verwenden möchten (beide Wege führen nach Rom) – MickyD

+0

ist Folgendes möglich? Wenn ich im Solution Explorer eine Datei per Drag & Drop hinzufüge (oder mit add -> new file), sollte die oben beschriebene Prozedur ausgeführt werden. Also brauche ich kein Menü oder Werkzeugfenster, höre nur auf ein Ereignis und führe etwas Code aus. Aber welches Ereignis ist das im Detail? Dies ist leider mein erster Versuch, einen VSIX zu entwickeln – ManzMoody

Antwort

1

Sicher, nichts davon sollte Probleme verursachen. Erwägen Sie, Ihr Projekt mit Jared Parsons' VSIX templates zu starten, um maximale Portabilität über VS-Versionen zu erreichen. Menübefehle oder Toolbox-Elemente oder beides können beliebig zu derselben Erweiterung hinzugefügt werden. Sie sind nicht verschiedene Projekttypen. (Diese Option bestimmt nur, welcher Beispielcode bei der Projekterstellung hinzugefügt wird.) Das Öffnen eines Dateidialogfelds und das Ausführen einer Befehlszeile sind unkompliziert. ... wie diese eine DLL Referenz geschieht Hinzufügen

var p = _project as VsProject; 
p.References.Add(<path to assembly DLL>);