代码之家  ›  专栏  ›  技术社区  ›  Dagrooms

Microsoft C#命令行编译器在外部目录中找不到.dll

  •  1
  • Dagrooms  · 技术社区  · 9 年前

    我想在Linux终端中从命令行编译一个C#程序。我的csc。exe被添加到我的路径中,并正常工作。目录布局如下:

    |-- Program.cs
    |-- Otherfiles.cs
    |-- bin
    |    |-- Debug
    |    |    |-- Newtonsoft.Json.dll
    

    在顶层目录中,我使用以下命令进行编译:

    csc *.cs /r:./bin/Debug/Newtonsoft.Json.dll
    --> error CS2001: Source file 'r:bin/Debug/Newtonsoft.Json.dll' could not be found
    

    有没有更好的方法来完成我在这里尝试做的事情,或者我只需要将我想要的.dll文件复制到与 Program.cs ,如中所做 this question ?

    1 回复  |  直到 8 年前
        1
  •  3
  •   rene    9 年前

    这个 /reference 参数仅用于指示程序集的名称。

    要指定其他目录以搜索程序集文件,请使用 /lib 参数:

    csc *.cs /r:Newtonsoft.Json.dll /lib:"./dir with spaces/need quotes", ./bin/Debug
    

    使用/lib指定一个或多个程序集引用所在的目录。/lib主题还讨论了编译器在其中搜索程序集的目录。