簡體   English   中英

C#編譯器在編譯過程中如何搜索庫?

[英]How does C# compiler search for libraries during compilation?

AC#程序通過using C#代碼中的指令來使用.Net框架庫或第三方庫。

使用csc編譯程序時,

  • 我們如何為使用的庫指定搜索路徑?

  • 編譯器是否按某種搜索順序搜索使用的庫?

我在指定庫的搜索路徑和搜索順序方面將cscgccjavac進行比較。 對於gccjavac ,有多種方法可以指定搜索路徑,

  • 它們的命令行選項,例如-Lgcc以及-classpathjavac
  • 環境變量,例如gcc LIBRARY_PATHjavac CLASSPATH
  • 默認路徑,例如當前目錄,某些系統范圍的目錄

csc是否也有多種方式,並且它們之間具有搜索順序?

如果使用調用csc msbuild編譯程序,則會遇到相同的問題。

謝謝。

我們如何為使用的庫指定搜索路徑?

使用/lib命令行選項。

句法

/lib:dir1[,dir2] 

目錄1

如果在當前工作目錄(從中調用編譯器的目錄)或公共語言運行時的系統目錄中找不到引用的程序集,則編譯器將在該目錄中查找。

目錄2

一個或多個其他目錄以搜索程序集引用。 用逗號分隔其他目錄名稱,並且目錄名稱之間不要有空格。

OP

如果使用調用csc的msbuild編譯程序,則會遇到相同的問題

如果使用msbuild,則很有可能使用.proj文件,因此它將使用您期望的環境路徑設置

告訴我更多

暫無
暫無

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

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