我正在尝试使用Microsoft.Build库从我的应用程序编译一个项目。我可能用它来构建的所有项目都是VS2017中的.Net 4.7.1项目。下面是我有问题的代码和我收到的错误:
var loggerPath = $"C:\\temp\\{FilenameOnly}BuildLog.txt";
var collection = ProjectCollection.GlobalProjectCollection;
var logger = new FileLogger();
logger.Parameters = $"logfile={loggerPath}";
collection.RegisterLogger(logger);
var project = collection.LoadProject(FileWithPath);
project.SetProperty("Configuration", buildConfiguration);
project.Build();Microsoft.Build.Exceptions.InvalidProjectFileException:‘项目的默认XML命名空间必须是MSBuild XML命名空间。如果项目是以MSBuild 2003格式创作的,请在元素中添加xmlns="http://schemas.microsoft.com/developer/msbuild/2003“。如果项目是以旧的1.0或1.2格式创作的,请将其转换为MSBuild 2003格式。
这听起来像是我使用了错误的MSBuild,并且我认为我引用了错误的Microsoft.Build.x.dlls,所以我尝试切换到C:\Program Files (x86)\MSBuild\14.0\Bin中的Bin,以获得相同的异常。
发布于 2018-05-03 21:11:51
我最终需要通过nuget package获得MSBuild 15。我还遇到了更多的问题,如果我没有偶然发现这个链接,我就会去寻找替代方案:
https://stackoverflow.com/questions/50140443
复制相似问题