繁体   English   中英

弄清楚为什么 Microsoft.Build.Evaluation.Project.Build() 返回 false

[英]Figure out why Microsoft.Build.Evaluation.Project.Build() returns false

我正在尝试使用 .csproj 文件构建 C# 项目。 为此,我使用以下代码:

Microsoft.Build.Evaluation.Project project = new Microsoft.Build.EvaluationProject(projectFile);
bool success = project.Build();

但并非所有项目都是构建的,对于某些项目,由于project.Build()的结果,我得到了false 任何想法如何理解出了什么问题?

或者也许任何人都可以建议使用 .csproj 文件编译项目的替代方法?

您需要将ILogger作为参数添加到Build方法中。 我建议按照 MSDN 文章的建议实施一个。 只需复制粘贴他们的代码,添加任何缺失的引用,你就可以了。

然后你可以调用Build如下:

Microsoft.Build.Evaluation.Project project = new Microsoft.Build.Evaluation.Project(projectFile);
BasicFileLogger logger = new BasicFileLogger();
logger.Parameters = logFilePath;
logger.Verbosity = LoggerVerbosity.Normal; //Increase it if you don't get enough data
bool success = project.Build(logger);

示例记录器会将您在正常构建期间看到的所有数据写入logFilePath文件。 基于此,您应该能够识别问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM