2017-12-21 11 views
0

私はVisual Studioソリューションと特定のタスクでいくつかの矛盾がありました。私はすべてのリンクファイルを削除し、それらを共有アセンブリに置き換えました。私は別のvsプロジェクトのすべてのリンクファイルのリストを持っていたいと思います。 のprojファイルのこの部分Visual Studioプロジェクト内のすべてのリンクをpowershellで見つける

<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> 

を考えてみましょう、私は今、私は、フォーム

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

で入力を持つことを望む

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

を使用してコンパイルするノードを見つけることができましたなど...

可能ですか?

答えて

1

次のように、XMLを解析することができます。

[xml]$xml = Get-Content $PathToCsprojFile 

は、その後、あなたは、すべてのノード、例えばアクセスすることができますとして:

$xml.Project.ItemGroup.Compile.Include | Where-Object { $_ -eq 'MyIncludeFile.cs'} 
関連する問題