我需要在我的C#代码中找到System.dll
的汇编路径,才能在我的代码中使用roslyn执行一个C#文件。
typeof(Enumerable).Assembly.Location
返回"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll"
很好,因为我需要System.Core.dll
,但我也需要System.dll
但是我似乎找不到System.dll
答案 0 :(得分:1)
在Visual Studio(至少2017年)中,右键单击对System
的项目引用,然后单击“在对象浏览器中查看”。
尝试System.Uri
-碰巧的是,System.dll
不包含可能合理假定的内容。我敢肯定,实际想法已经深入到了哪里。或不。例如:
答案 1 :(得分:0)
System.Uri
是系统程序集中类型的示例。
PowerShell快速确认:
[System.Uri].Assembly.Location
答案 2 :(得分:0)
您需要使用typeof(Enumerable).Assembly.GetReferencedAssemblies()
浏览依赖关系树,以及它们的依赖关系,等等...
答案 3 :(得分:0)
您可以使用dotPeek。它是免费的,您可以看到dll文件的元数据。 Screenshot from dotPeek
现在您可以看到可以使用例如FileStyleUriParser
。
var path = typeof(FileStyleUriParser).Assembly.Location;
瞧,您有System.dll的路径。
还可以使用Visual Studio对象浏览器。 View -> Object Browser
或Ctrl + Alt + J
,您将获得相同的结果。