繁体   English   中英

用代码构建csproj文件的有效方法是什么?

[英]what's an effective way to build a csproj file in code?

我想避免使用命令行。 我一直在使用MSBuild API( Microsoft.Build.FrameworkMicrosoft.Build.BuildEngine ),其代码如下所示:

this.buildEngine = new Engine();
BuildPropertyGroup props = new BuildPropertyGroup();
props.SetProperty("Configuration", "Debug");
this.buildEngine.RegisterLogger(this.logger);
Project proj = new Project(this.buildEngine);
proj.LoadXml(this.projectFileAndPath, ProjectLoadSettings.None);
this.buildEngine.BuildProject(proj, "Build"); 

但是,我遇到了足够多的问题,无法找到答案,我真的想知道我是否做得正确。 首先,我找不到输出(我认为dll会终止的任何位置都没有bin目录)。 其次,我尝试构建一个在VS2008中创建的项目,而proj.LoadXml(由于无效的xml编码而失败。但是该xml文件当然是有效的,因为VS2008可以构建它(我检查过)。

在这一点上,我开始怀疑我是否选择了一些过时的代码或被其他方法所取代的方法。 意见?

LoadXml()方法需要一个包含xml的字符串,而不是文件的路径。 请改用Load()方法。

不,关于Microsoft.Build名称空间没有什么过时的。 假设您使用的是3.5版本。

暂无
暂无

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

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