Ich habe meine eigene Projektvorlage erstellt. Wenn ein Projekt mit der Vorlage erstellt wird, wird ein benutzerdefinierter Assistent gestartet, mit dem der Benutzer das erstellte Projekt bearbeiten kann.Wie nuget-Pakete hinzufügen und benutzerdefinierten Projekt-Assistenten ausführen?
Das Problem ist, dass ich auch einige sehr einfache Nuget-Pakete zum erstellten Projekt hinzufügen muss (nur mvvmlight, MyToolkit und 1 andere). Um dies zu tun, fügte ich ein WizardData
Element zu meinem vstemplate mit den richtigen Paketen.
Hier kommt das Problem: Um meinen benutzerdefinierten Assistenten zu starten, muss ich einen Verweis auf meinen Assistenten innerhalb des Elements WizardExtension
setzen. Aber um die nuget-Pakete automatisch zu installieren, muss ich einen Verweis auf NuGet.VisualStudio.TemplateWizard
innerhalb meines Elements WizardExtension
setzen, und WizardExtension
kann nur eine Klasse, die es instanziieren, aber ich habe 2, die ausgeführt werden müssen.
Also, wie löse ich das?
Hier ist der Code, der meinen eigenen Assistenten startet. Jetzt brauche ich nur die NuGet-Pakete, um auch zu installieren:
<WizardExtension>
<Assembly>PartyTemplateWizard, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=7eb2f41084fd4cd5</Assembly>
<FullClassName>PartyTemplateWizard.Wizard</FullClassName>
</WizardExtension>
<WizardData>
<packages repository="template">
<package id="MvvmLight" version="4.1.27.0" />
<package id="MvvmLightLibs" version="4.1.27.0" />
<package id="MyToolkit" version="1.14.0" />
<package id="linqtotwitter" version="2.1.06" />
</packages>
</WizardData>
Hat jemand eine Lösung?
Haben Sie versucht, NuGet von der Kommandozeile ausgeführt werden? (nuget.exe) – Sebazzz
Programmgesteuert aus dem benutzerdefinierten Projektassistenten? –
Suche nach der gleichen Antwort (aber auf einer Lösung vstemplate leve). Wenn ich nachdenke, ob ich meinen eigenen Assistenten haben kann, kann ich vielleicht die Funktionen des Nuget-Assistenten aufrufen. Nicht sicher wie. –