Sie können additem Methode von Microsoft.Build.Evaluation.Project verwenden, es zu erreichen. Hier ist eine Beispiel-Demo für Ihre Referenz.
DTE2 dte = this.ServiceProvider.GetService(typeof(DTE)) as DTE2;
EnvDTE.Project currentProject = dte.Solution.Projects.Item(1);
string projectPath = currentProject.FullName;
var project = new Microsoft.Build.Evaluation.Project(projectPath);
var proItem = project.GetItems("SDKReference").FirstOrDefault();
project.AddItem("SDKReference", "WindowsTeam, Version=10.0.14393.0", new[]
{
new KeyValuePair<string, string>("Name", "Windows Team Extensions for the UWP")
});
project.Save();
Update:
DTE2 dte = this.ServiceProvider.GetService(typeof(DTE)) as DTE2;
EnvDTE.Project currentProject = dte.Solution.Projects.Item(1);
string projectPath = currentProject.FullName;
Microsoft.Build.Evaluation.ProjectCollection projectCollection = new Microsoft.Build.Evaluation.ProjectCollection();
var project = projectCollection.LoadProject(projectPath); projectCollection.UnloadProject(project);
project.AddItem("SDKReference", "WindowsTeam, Version=10.0.14393.0", new[]
{
new KeyValuePair<string, string>("Name", "Windows Team Extensions for the UWP")
});
project.Save();
projectCollection.LoadProject(projectPath);
Danke. Es funktioniert wie erwartet. Aber nach dem Erstellen eines Projekts wird ein Dialog angezeigt, der besagt: "Projekt außerhalb der Umgebung modifiziert". (siehe [hier] (https://ibb.co/mvQZna) für Screenshot) Wie kann ich das vermeiden? Bitte helfen Sie. –
Bitte überprüfen Sie diesen Thread: https://stackoverflow.com/questions/44117270/visual-studio-extension-reload-project, entladen Projekt-> ändern csproj Datei -> Projekt erneut laden. –
Die Lösung dieses Threads funktioniert nur für Add-Ins. Es funktioniert nicht für Projektvorlagen. –