【发布时间】:2014-04-09 09:13:34
【问题描述】:
我想读取、修改和写回 csproj 文件。 我找到了这段代码,但不幸的是 Engine 类已被贬值。
Engine engine = new Engine()
Project project = new Project(engine);
project.Load("myproject.csproj");
project.SetProperty("SignAssembly", "true");
project.Save("myproject.csproj");
所以我继续根据我应该使用 Evaluation.ProjectCollection 而不是 Engine 的提示:
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
不再有 Load 方法。我尝试设置属性 FullPath,但该项目似乎仍然是空的。错过了什么?
(请注意,我确实知道 .csproj 文件是具有 XSD 架构的标准 XML 文件,并且我知道我们可以使用 XDocument 或 XmlDocument 读取/写入它。这是一个备用计划。只要看到 .Save() Project 类上的方法我想如果我无法加载现有的 .csproj,我错过了一些东西。thx)
【问题讨论】:
标签: c# msbuild projects-and-solutions csproj