首页 > 解决方案 > 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 程序集。

标签: msbuildgitlabgitlab-cipowershell-coregitlab-ce

解决方案


好吧,这似乎可以解决问题。

$msbuild_asm = Get-ChildItem -Path / -File -Filter "Microsoft.Build.dll" `
                             -Recurse `
                             -ErrorAction SilentlyContinue `
             | Select-Object -Last 1
Add-Type -Path $msbuild_asm

推荐阅读