Chciałbym czytać, modyfikować i zapisywać pliki csproj. Znalazłem ten kod, ale niestety klasa Engine jest amortyzowana.Modyfikuj programowo pliki csproj za pomocą Microsoft.Build.Evaluation (zamiast silnika)
Engine engine = new Engine()
Project project = new Project(engine);
project.Load("myproject.csproj");
project.SetProperty("SignAssembly", "true");
project.Save("myproject.csproj");
Więc ja w dalszym ciągu opiera się na podpowiedź należy używać Evaluation.ProjectCollection zamiast silnika:
var collection = new ProjectCollection();
collection.DefaultToolsVersion = "4.0";
var project = new Project(collection);
// project.Load("myproject.csproj") There is NO Load method :-(
project.FullPath = "myproject.csproj"; // Instead of load? Does nothing...
// ... modify the project
project.Save(); // Interestingly there is a Save() method
nie istnieje metoda ładowania więcej. Próbowałem ustawić właściwość FullPath, ale projekt nadal wydaje się pusty. Brakowało mi coś?
(Uwaga: plik .csproj jest standardowym plikiem XML ze schematem XSD i wiem, że możemy go odczytać/zapisać za pomocą XDocument lub XmlDocument.) To jest plan tworzenia kopii zapasowych. Po prostu zobaczenie .Save () metoda w klasie projektu Chyba coś przeoczyć, jeśli nie można załadować istniejący .csproj thx)
Czy można upuścić artefakty kompilacji do niestandardowego folderu? – Bandara