【问题标题】:How to include libraries (such as fastJSON) in a c# (gmcs) project如何在 c# (gmcs) 项目中包含库(例如 fastJSON)
【发布时间】:2012-01-20 16:18:52
【问题描述】:

免责声明:我昨天刚刚由 hello world 和 gmcs 制作

问题

我想在使用 gmcs 的项目中使用 fastJSON

我该怎么做

  1. 将项目,由大约 10 个文件组成的库编译成一个库?
  2. 使用我的 1 文件项目静态链接到该库?
  3. 在我的系统上“安装”库?

设想的解决方案

cd ~/fastJSON
gmcs --blahblah=fastJSON.csproj
cd ~/myProject
gmcs --yadayada=static ~/fastJSON/fastJSON.lib main.cs

【问题讨论】:

    标签: c# mono gmcs fastjson


    【解决方案1】:

    最简单的解决方案是使用xbuild来构建fastJSON项目:

    cd path/to/fastJSON
    xbuild fastJSON.csproj
    

    这将在某处构建一个库 (.dll)(通常在 bin/Debug 子目录中,但可以在项目文件中更改它,因此它可能在其他地方用于 fastJSON)。

    现在你有了这个库,你可以在编译代码时像这样引用它:

    gmcs -r:path/to/fastJSON.dll mycode.cs
    

    您无需在系统上安装 fastJSON 库,只需将其放在可执行文件旁边即可。

    【讨论】:

    • 非常感谢!我还没有听说过xbuild。我还没有完全测试过代码,但是我能够毫无错误地导入 fastJSON 命名空间,所以我很确定它可以工作。
    • 如何让它构建“生产”版本而不是“调试”版本?
    • 使用“xbuild /property:Configuration=Release fastJSON.csproj”来构建发布版本。
    【解决方案2】:

    根据man page,需要使用-r命令行选项:

    gmcs -r ~/fastJSON/fastJSON.dll main.cs
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 2019-07-17
      相关资源
      最近更新 更多