通过PowerShell查找Visual Studio项目中的所有链接

问题描述 投票:0回答:1

我已经在Visual Studio解决方案上做了一些保持,并且在特定任务中我要删除所有链接文件并用共享程序集替换它们。我希望在单独的vs项目中有一个所有链接文件的列表,我试过没有运气使用PowerShell。考虑一下proj文件的这一部分

<ItemGroup>
<Compile Include="..\XXX.Services.Inquiry\src\DTO\AccountingEntry.cs">
  <Link>DTO\AccountingEntry.cs</Link>
</Compile>
<Compile Include="..\XXX.Services.Inquiry\src\DTO\BalanceDetailItem.cs">
  <Link>DTO\BalanceDetailItem.cs</Link>
</Compile>
<Compile Include="..\XXX.Services.Inquiry\src\DTO\BalancesForCurrencyItem.cs">
  <Link>DTO\BalancesForCurrencyItem.cs</Link>
</Compile>
<Compile Include="..\XXX.Services.Inquiry\src\DTO\HistoricalCashSaleFlow.cs">
  <Link>DTO\HistoricalCashSaleFlow.cs</Link>
</Compile>
<Compile Include="..\XXX.Services.Inquiry\src\DTO\HistoricalChangeBceItem.cs">
  <Link>DTO\HistoricalChangeBceItem.cs</Link>
</Compile>

我已经能够找到使用的Compile节点

$xx = $proj.GetElementsByTagName("Compile")

现在我希望在表单中输入

AccountEntry | ..\XXX.Services.Inquiry\src\DTO\AccountingEntry.cs
BalanceDetailItem | ..\XXX.Services.Inquiry\src\DTO\BalanceDetailItem.cs

等等...

可能吗?

c# visual-studio powershell
1个回答
1
投票

您可以按如下方式解析XML:

[xml]$xml = Get-Content $PathToCsprojFile

然后你可以访问所有节点,例如如:

$xml.Project.ItemGroup.Compile.Include | Where-Object { $_ -eq 'MyIncludeFile.cs'}
© www.soinside.com 2019 - 2024. All rights reserved.