AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Xmake Csharp

skill-xmake-io-xmake-skills-xmake-csharp · by xmake-io

Use when building C# projects with xmake — `.cs` sources with the Mono `mcs` or .NET `dotnet` toolchain, binary / library output, adding references, and mixing with native code via P/Invoke.

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add skill-xmake-io-xmake-skills-xmake-csharp

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-xmake-io-xmake-skills-xmake-csharp)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Xmake Csharp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Building C# with Xmake

Xmake drives the C# compiler (Mono mcs or modern .NET csc/dotnet) through a target model similar to C++.

1. Minimal project

add_rules("mode.debug", "mode.release")

target("hello")
    set_kind("binary")
    add_files("src/*.cs")

2. Target kinds

target("app")       set_kind("binary")       -- .exe
target("mylib")     set_kind("shared")       -- .dll (class library)

3. Toolchain

xmake f --toolchain=mcs                      -- Mono compiler
xmake f --toolchain=dotnet                   -- .NET SDK (csc)

Pin a specific install with --sdk:

xmake f --toolchain=dotnet --sdk=/usr/share/dotnet/sdk/8.0.100

4. References

target("app")
    add_files("src/*.cs")
    add_csflags("/reference:System.dll", "/reference:System.Core.dll")
    -- Or the modern, portable form:
    add_values("cs.references", "System.dll", "System.Core.dll")

For NuGet / .NET SDK projects, prefer a real .csproj consumed via dotnet build — xmake's direct C# support is best for small / standalone tools.

5. Mixing with native code (P/Invoke)

target("nativelib")
    set_kind("shared")
    add_files("native/*.c")

target("app")
    set_kind("binary")
    add_files("src/*.cs")
    add_deps("nativelib")

In Program.cs:

using System.Runtime.InteropServices;
class Program {
    [DllImport("nativelib")]
    static extern int hello(int x);
}

Xmake places nativelib.dylib/.so/.dll next to the managed binary so the runtime loader finds it.

6. Flags

target("app")
    add_files("src/*.cs")
    add_csflags("-unsafe", "-nowarn:1591")

add_csflags maps to C# compiler flags.

Pitfalls

  • xmake is not dotnet build. Complex .csproj projects (NuGet, SDK-style projects, Razor, WPF designers) should go through dotnet build inside a task(...) instead of xmake's native C# support.
  • Missing System.dll references. Modern .NET Core doesn't need them (implicit); Mono does. Test with the toolchain you'll ship on.
  • Managed DLL + native DLL path mismatch. P/Invoke lookups fail if the native DLL isn't on PATH or next to the .exe. Xmake's default placement handles the common case.

When to branch out

  • Native library interop → xmake-targets
  • Packaging a C# app → xmake-xpack

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.