我正在尝试自动执行一些解决方案和项目文件的更新。
Microsoft.Build
包,但是遇到了一些问题,比如
我还收到了一个错误,就是找不到
不幸的是我没有捕捉到。
最后,通过添加一个引用,我走得更远了。
Microsoft.Build.Runtime
,但后来我得到了
..。
我能找到的所有答案都是关于现有构建系统中的运行时错误,而不是直接利用MSBuild库。
如何使用Microsoft.Build以编程方式访问项目文件?
发布于 2021-02-24 05:09:33
事实证明,答案位于微软文档中的一个合理位置(“以编程方式使用MSBuild”),只是页面名称本身并不直观。它的标题是
更新到MSBuild 15
并给出了以下解决方案:
参考Microsoft.Build.Locator (
NuGet
/
GitHub
)
在
对于
,添加
容易记住,因为如果不这样做,MSBuildLocator将导致编译时错误
呼叫
在调用任何使用MSBuild的方法之前,在您的代码中
来自工作csproj的示例:
...
runtime
...有关更多背景信息,请参阅
MSBuild存储库上的此GitHub问题
..。据我所知,MSBuild工具的位置过去存储在注册表中,Microsoft.Build库仍然在那里,但当添加了对Visual Studio SKU的并行安装的支持时,这不再受支持。
https://stackoverflow.com/questions/66341144
复制相似问题