msbuild - Powershell Core:加载 Microsoft.Build
问题描述
我想在 GitLab CI/CD 脚本(Alpine .NET Core SDK 映像)中枚举 MSBuild 项目的所有评估属性。
[Reflection.Assembly]::Load("Microsoft.Build")
[Reflection.Assembly]::LoadWithPartialName("Microsoft.Build")
Add-Type -AssemblyName "Microsoft.Build"
New-Object Microsoft.Build.Evaluation.Project($csproj)
但是,上面的组合似乎都没有找到Microsoft.Build
程序集并让我实例化一个Microsoft.Build.Evaluation.Project
实例。
我假设 SDK 映像中必须有 Microsoft.Build 程序集。
解决方案
好吧,这似乎可以解决问题。
$msbuild_asm = Get-ChildItem -Path / -File -Filter "Microsoft.Build.dll" `
-Recurse `
-ErrorAction SilentlyContinue `
| Select-Object -Last 1
Add-Type -Path $msbuild_asm
推荐阅读
- java - JSON数据未显示,而是显示空白屏幕
- javascript - 如何创建外部按钮来操作单元格
- php - 如何使用特定列名作为数组索引获取特定列的结果?
- r - Shiny + downloadHandler + Openxlsx 不生成 xlsx 文件
- laravel - 队列工作人员的合适数量是多少?
- amazon-cloudfront - Prometheus 不会从 Cloudfront 抓取指标 - 时间戳问题?
- javascript - 通过函数将事件侦听器添加到克隆对象
- php - 默认条件下的断点
- mysql - 从表中将两个时间范围合并为一个
- php - db中的Yii2方法名称在gridview中有效,但在detailview中无效,为什么?