4个版本 (2个重大更新)
0.3.1 | 2023年11月15日 |
---|---|
0.3.0 | 2023年11月15日 |
0.2.0 | 2021年11月22日 |
0.1.0 | 2021年11月9日 |
#79 in #standalone
在2个crate中使用了(通过rnet)
13KB
267 行
rnet
轻松从C#或其他.NET语言调用Rust。
用法
- 将
rnet::root!();
添加到您的crate中。 - 在要与.NET共享的任何结构上使用
#[derive(Net)]
。 - 将
#[net]
属性应用于任何可以从.NET调用的独立函数。 - 将您的Rust项目构建为
cdylib
。 - 为您的项目生成C#绑定
cargo install rnet-gen rnet-gen "<path to .dll/.so/.dylib>" > "<path to generated file.cs>"
- 将C#文件包含在您的.NET项目中。
- 将编译的Rust库链接到您的.NET项目,并将其设置为"如果较新则复制"。
- 可选:将上述步骤配置为在预构建步骤中自动运行。
对于C#以外的其他语言,您需要将导出的C#文件构建为其自己的类库,然后从任何.NET语言的项目中添加对该类库的引用。
lib.rs
:
rnet-macros
为rnet
的过程宏
依赖关系
~2MB
~43K SLoC