【解決方法】.Net で .SLN ファイルを読み取るには?

プログラミングQA


プロジェクトの解決策ファイルを読みたいのですが、解決策パーサー以外の仕組みを教えてください。

解決策 1

SLN ファイルはテキスト ファイルです。最初の行を読むと、解決策 ファイルのバージョンを取得できます。

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "consoletest", "consoletest\consoletest.csproj", "{6BADD8B3-618E-412A-BBCA-8420EFD5B62E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "fastJSON", "fastJSON\fastJSON.csproj", "{207E91B1-C9F8-4913-88E1-3549EF5F3273}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "UnitTests\UnitTests.csproj", "{F4BFF0D2-45F6-413B-B1E7-BC4A0D6596FC}"
EndProject
...

上記からわかるように、プロジェクト名もそこにあります。

解決策 2

NuGet パッケージ Microsoft.Build をプロジェクトに追加します。

// Add the using on top of the cs-file.
using Microsoft.Build.Construction;

// In your method:
string filename = @"C:\src\sln-folder\theSlnFile.sln";
var sln = SolutionFile.Parse(filename);

コメント

タイトルとURLをコピーしました