Goo.Svg 0.5.0

dotnet add package Goo.Svg --version 0.5.0
                    
NuGet\Install-Package Goo.Svg -Version 0.5.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Goo.Svg" Version="0.5.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Goo.Svg" Version="0.5.0" />
                    
Directory.Packages.props
<PackageReference Include="Goo.Svg" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Goo.Svg --version 0.5.0
                    
#r "nuget: Goo.Svg, 0.5.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Goo.Svg@0.5.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Goo.Svg&version=0.5.0
                    
Install as a Cake Addin
#tool nuget:?package=Goo.Svg&version=0.5.0
                    
Install as a Cake Tool

Goo.Svg

Goo.Svg is an optional runtime loader for Goo's immutable VectorAsset documents.

using Goo.Svg;

var asset = Svg.Parse(svgText);
var fromStream = Svg.Load(stream);
var fromFile = Svg.Load("icon.svg");

Load once and retain the asset instead of parsing inside each Build call. Render the same reusable asset at the size of its parent:

let icon = Svg.Load("icon.svg")
Container{
  Width: 32,
  Height: 32,
  Children: { icon.Render() },
}

The core Goo package also supports VectorAsset.Load(bytes) for compiled GCV1 assets and VectorAsset(x, y, width, height, roots) for authored VectorNode trees. Neither requires the SVG package. CompiledVectorAsset remains a compatible loading facade over the same document and renderer.

Author paths and transforms in the asset's view-box coordinates. A path's own view-box metadata does not independently resize it within a document. Node child arrays are copied, paints and strokes are immutable, and nodes can be reused. Rendering contains the complete document within its parent while preserving its aspect ratio. Strokes, clips, and nested transforms scale with the document.

Text and streams use the same parser and writer as Goo.SvgCompiler, so runtime and build-time loading produce the same GCV1 representation. Load(Stream) reads from the current stream position and leaves the caller's stream open.

The supported subset includes paths, groups, affine transforms, opacity, solid paints, linear and radial gradients, strokes, dashes, user-space clips, controlled transform, opacity, color, stroke, and compatible-topology path morph animation. Root SVG documents must provide a positive viewBox, or positive width and height when no viewBox exists.

Gradient strokes, object-bounding-box gradient transforms, nested SVG, text, images, CSS, scripts, filters, masks, external references, event-driven SMIL, and incompatible morph topologies are rejected. XML DTDs and external entity resolution are disabled.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • Goo (>= 0.5.0)

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.5.0 41 9/5/2026