簡體   English   中英

C#如何獲取系統程序集的路徑

[英]C# How do I get the path to the System assembly

我需要在我的C#代碼中找到System.dll的匯編路徑,才能在我的代碼中使用roslyn執行ac#文件。

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包含的類型

在Visual Studio(至少2017)中,右鍵單擊對System的項目引用,然后單擊“在對象瀏覽器中查看”。

嘗試使用System.Uri碰巧的是, System.dll不包含可能合理假定的內容。 我敢肯定,實際想法已經深入到了哪里。 或不。 例如:

System.dll內容

System.Uri是System程序集中類型的示例。

快速PowerShell確認:

[System.Uri].Assembly.Location

您需要使用typeof(Enumerable).Assembly.GetReferencedAssemblies()及其依賴項等來遍歷依賴項樹...

您可以使用dotPeek。 它是免費的,您可以看到dll文件的元數據。 dotPeek的屏幕截圖

現在您可以看到可以使用例如FileStyleUriParser

var path = typeof(FileStyleUriParser).Assembly.Location;

瞧,您擁有System.dll的路徑。

您也可以使用Visual Studio對象瀏覽器。 View -> Object BrowserCtrl + Alt + J ,您將獲得相同的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM