スタンドアロン ツールで Mono.Cecil を使用してアセンブリを処理しています。このツールは、フレームワークに依存しない (つまり、任意の .NET 4[.x[.x]] 環境で読み込まれる] ことを目的としており、.NET SDK などに依存しません。
IL に次の TargetFrameworkAttribute を含むアセンブリがあるとします。
[assembly: TargetFramework(".NETFramework,Version=v4.0",
FrameworkDisplayName = ".NET Framework 4")]
それを正しいパスであると私が信じているものにマップする正しい方法は何ですか:-
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
.NET コード内からこれを管理する比較的クリーンな方法があることを願っています。
プログラムで取得する標準的な方法はありC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework
ますか? この中の明らかなサブフォルダ パターンは信頼できますか?つまり、これ以外のドキュメントはありますか?
Microsoft.Common.targets
私は MSBuild を介して見ることができMicrosoft.NETFramework.props
、これに関する「最適化された」ロジックのかなりのウォーレンがあります。私がそれに喜んで取り組んだとしても、たとえばそこにタスクを使用するのは脆すぎて、MSBuild ツール (v12/4 ...) の発見に依存することは理想的ではありません。何か案は?