Powinno to dodać dokument.Roslyn AddDocument do projektu i Zapisz tę zmianę w rzeczywistym pliku rozwiązania
public static void AddDoc()
{
var msBuild = MSBuildWorkspace.Create();
var sln = msBuild.OpenSolutionAsync
(@"D:\PanNiebieski\Documents\Visual Studio 14\Projects\WebApplication1"
+ @"\WebApplication1.sln").Result;
foreach (var p in sln.Projects)
{
p.AddDocument(Guid.NewGuid().ToString() + ".txt", "test");
var ok = msBuild.TryApplyChanges(sln);
Console.WriteLine(p.Name + ":" + ok);
}
Console.ReadKey();
}
Metoda "TryApplyChanges" zwraca wartość true, co oznacza, że dokument został dodany. Potem znowu, gdy sprawdzam rozwiązanie, nic takiego nie istnieje. Mam taki sam problem z dodawaniem odniesień do projektu.
Pytanie, w jaki sposób mogę zapisać zmiany, np. Dodając dokument do prawdziwego projektu. Czy coś mi brakuje? Wiele pytań w StackOverflow dotyczących dodawania odniesień do projektu mówiło, że to po prostu nie działa. Czy metoda "AddDocument" również nic nie robi?
Ta metoda mówi, że ta akcja jest obsługiwana. Jestem zdezorientowany.
Co stanie się, jeśli dodasz plik .cs? Patrząc na http://source.roslyn.codeplex.com/#Microsoft.CodeAnalysis.Workspaces.Desktop/Workspace/MSBuild/MSBuildWorkspace.cs,1285b31dd95f5004, widzę tam pewne dodatki. (Również ten kod zmienił się od czasu podglądu VS2015) –
Nie działa po aktualizacji pakietów z wersji beta1 do wersji beta2. Rozszerzenie pliku "cs" nic nie dało. – user2932893