C#编译器在编译过程中如何搜索库



C#程序通过C#代码中的using指令使用.Net框架库或第三方库。

当使用csc编译程序时,

  • 我们应该如何指定所用库的搜索路径?

  • 编译器是否按照某种搜索顺序搜索使用过的库?

在指定库的搜索路径和搜索顺序方面,我将cscgccjavac进行比较。对于gccjavac,有多种方法可以指定搜索路径,

  • 命令行选项,例如-Lgcc-classpathjavac
  • 环境变量,例如gccLIBRARY_PATHjavacCLASSPATH
  • 默认路径,如当前目录、某些系统范围的目录

csc是否也有多种方法,并且它们之间有搜索顺序?

如果使用调用cscmsbuild编译程序,也会出现同样的问题。

谢谢。

我们应该如何指定所用库的搜索路径?

使用/lib命令行选项。

语法

/lib:dir1[,dir2] 

dir1

如果在当前工作目录(调用编译器的目录)或公共语言运行库的系统目录中找不到引用的程序集,则编译器要查找的目录。

dir2

要在其中搜索程序集引用的一个或多个附加目录。用逗号分隔其他目录名,它们之间不能有空格。

OP

如果使用调用csc 的msbuild编译程序,同样的问题

如果你使用msbuild,你很可能使用.proj文件,所以它会使用你的环境的路径设置,我希望

告诉我更多

  • -lib

最新更新