我正在学习PowerShell。目前,我在尝试从.csproj文件中获取Version
元素的值。.csproj文件的XML如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<Version>1.2.3</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MyLibrary" Version="3.2.1" />
</ItemGroup>
</Project>
为了从这个XML中获取Version
元素的值,我编写了以下PowerShell脚本:
$xml = [xml](Get-Content ./MyApp.csproj)
Write-Host "xml: " $xml
$version = $xml.Project.PropertyGroup.Version
Write-Host "version: $version"
当我运行这个脚本时,我看到了以下内容:xml:
version:
注意,项目XML和版本都没有被写入。起初,我认为引用.csproj时有误。我故意删除了结尾的“j”并抛出了一个错误。因此,我认为我已经正确加载了.csproj内容。但是,我认为我在PowerShell脚本中没有正确解析XML。
如何从PowerShell脚本中获取.csproj值的版本信息?
Write-Host
的输出无法被重定向。 - Bill_Stewart