Select-Xml returns 文件名
Select-Xml returns file name
当使用 Select-Xml 解析我的 *.csproj 时,除了预期的输出之外,我还得到了一个参数的连接。
这是怎么回事?
$version = Select-Xml -Path $projectFilePath -XPath "/Project/PropertyGroup/Version"
Write-Host $version
Start-Sleep -Seconds 5
EXIT
这个returns
1.0.1:D:\somepath\someproject.csproj
而不是
1.0.1
csproj 的片段
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.3</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<Version>1.0.1</Version>
</PropertyGroup>
</Project>
感谢您提供的代码片段,现在我可以自己试试了。
这确实有效:
$version = Get-Content -Path $projectFilePath -Raw | Select-Xml -XPath "/Project/PropertyGroup/Version"
Write-Host $version
你也可以这样做:
[xml]$x = get-content D:\somepath\someproject.csproj
$x.project.propertygroup.version
当使用 Select-Xml 解析我的 *.csproj 时,除了预期的输出之外,我还得到了一个参数的连接。
这是怎么回事?
$version = Select-Xml -Path $projectFilePath -XPath "/Project/PropertyGroup/Version"
Write-Host $version
Start-Sleep -Seconds 5
EXIT
这个returns
1.0.1:D:\somepath\someproject.csproj
而不是
1.0.1
csproj 的片段
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.3</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<Version>1.0.1</Version>
</PropertyGroup>
</Project>
感谢您提供的代码片段,现在我可以自己试试了。
这确实有效:
$version = Get-Content -Path $projectFilePath -Raw | Select-Xml -XPath "/Project/PropertyGroup/Version"
Write-Host $version
你也可以这样做:
[xml]$x = get-content D:\somepath\someproject.csproj
$x.project.propertygroup.version