Bu belge eklenmelidir.Roslyn AddDocument bir projeye ve bu değişikliği gerçek çözüm dosyasına kaydet
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();
}
"TryApplyChanges" yöntemi, belgenin eklendiği anlamına göre doğru döner. Çözümü kontrol ettiğimde tekrar böyle bir şey yok. Bir projeye referans eklemeyle aynı problemim var.
Gerçek bir projeye belge eklemek gibi değişiklikleri nasıl kaydedebileceğim sorusudur. Bir şey özlüyor muyum? Bir projeye referans eklemeyle ilgili StackOverflow'taki bir çok soru, bunun basitçe işe yaramadığını söyledi. "AddDocument" yöntemi de hiçbir şey yapmaz mı?
Bu yöntem, bu eylemin desteklendiğini söylüyor. Kafam karıştı.
Bir .cs dosyası eklerseniz ne olur? Http://source.roslyn.codeplex.com/#Microsoft.CodeAnalysis.Workspaces.Desktop/Workspace/MSBuild/MSBuildWorkspace.cs,1285b31dd95f5004 adresinde, orada bazı uzantı şeyler görüyorum. (Ayrıca, bu kod VS2015 Önizlemesinden beri değişti) –
Beta1'den beta2'ye paketleri güncelleştirdikten sonra çalışmaz. "cs" dosya uzantısı bir şey yapmadı. – user2932893