GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - NativeScript/windows

BranchesTags
Open more actions menu

Latest commit

 

History

247 Commits
247 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
.idea
.idea
 
 
.vscode
.vscode
 
 
ConsoleTestApp
ConsoleTestApp
 
 
NativeScriptWindowsDemo
NativeScriptWindowsDemo
 
 
TestApp
TestApp
 
 
docs
docs
 
 
dotnet-bridge-benchmarks
dotnet-bridge-benchmarks
 
 
dotnet-bridge-tests
dotnet-bridge-tests
 
 
dotnet-bridge
dotnet-bridge
 
 
integration-tests
integration-tests
 
 
libs
libs
 
 
metadata-filter
metadata-filter
 
 
metadata-generator
metadata-generator
 
 
metadata
metadata
 
 
napi-v8-shim
napi-v8-shim
 
 
nativescript
nativescript
 
 
packages
packages
 
 
playground
playground
 
 
runtime-binding-gen
runtime-binding-gen
 
 
runtime-devtools
runtime-devtools
 
 
runtime
runtime
 
 
sbg
sbg
 
 
sbg_output
sbg_output
 
 
scripts
scripts
 
 
template
template
 
 
test-app
test-app
 
 
tools
tools
 
 
typings-generator
typings-generator
 
 
typings
typings
 
 
windows-napi
windows-napi
 
 
.gitignore
.gitignore
 
 
Cargo.toml
Cargo.toml
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.ps1
build.ps1
 
 
windows.d.ts
windows.d.ts
 
 

Repository files navigation

NativeScript Windows Runtime

Windows support for NativeScript allowing 100% access to Windows Runtime APIs and .NET APIs from JavaScript.

The workspace is split into the main runtime pieces:

  • metadata - WinRT/.NET metadata reading and declaration modeling.
  • metadata-generator - reads .winmd, .dll, .exe, .nupkg, or directories and emits runtime metadata bundles.
  • runtime - V8-based JavaScript runtime and WinRT interop.
  • runtime-binding-gen - runtime-phase binding metadata support.
  • nativescript - native library entry point used by template/demo apps.
  • dotnet-bridge - .NET/C# dispatch bridge.
  • sbg - static binding generator. js -> cs
  • devtools / runtime-devtools - debugging and developer tooling.

Prerequisites

Install these before building the full workspace:

  • Windows 10 or Windows 11.
  • Visual Studio 2022 or Build Tools for Visual Studio 2022 with:
    • Desktop development with C++.
    • MSVC v143 toolset.
    • Windows 10/11 SDK.
    • C++ CMake tools are useful for native dependency troubleshooting.
  • Rust stable via rustup.
  • Rust MSVC targets used by the native library build:
    • rustup target add x86_64-pc-windows-msvc
    • rustup target add i686-pc-windows-msvc
    • rustup target add aarch64-pc-windows-msvc
  • .NET SDK, currently needed for the C# bridge, tests, demo apps, and template projects.
  • PowerShell 7+ (pwsh) for the build scripts.

Open a Visual Studio Developer PowerShell when building native libraries so cl.exe and the Windows SDK tools are on PATH.

Build

Build the main workspace crates:

cargo build --workspace

Build native nativescript.dll libraries and the runtime pipeline:

.\build.ps1 -Profile debug -NativeArch x64

Build all native targets:

.\build.ps1 -Profile release -NativeArch all

Run the SBG phase when you want generated static binding output:

.\build.ps1 -RunSBG

Tests

Run Rust tests:

cargo test --workspace

Run .NET bridge tests:

dotnet test dotnet-bridge-tests\DotNetBridgeTests.csproj

Run the runtime test app (Jasmine-style specs inside a WinUI app built from the template, with C# fixtures and a plugin compiled in — the counterpart of the Android/iOS test-app suites). See test-app/README.md:

pwsh test-app/run.ps1

DevTools

DevTools are part of the runtime story, not an optional afterthought. Use the release-with-devtools profile when you need debugger/devtools symbols and runtime tooling enabled:

.\build.ps1 -Profile release-with-devtools -NativeArch x64

About

No description, website, or topics provided.

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

7 stars

Watchers

1 watching

Forks

3 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.