我正在使用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
的标准方法?是否可以依赖其中明显的子文件夹模式 - 即is there any documentation other than this?
我可以通过Microsoft.Common.targets
看到MSBuild,而Microsoft.NETFramework.props
可以看到围绕此问题的'优化'逻辑。即使我愿意接受这个,例如在那里使用一个任务会太脆弱并且依赖于发现MSBuild工具(v12 / 4 ......)并不理想。有什么想法吗?