BrickStoreSharp 1.2.0

dotnet add package BrickStoreSharp --version 1.2.0
                    
NuGet\Install-Package BrickStoreSharp -Version 1.2.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="BrickStoreSharp" Version="1.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BrickStoreSharp" Version="1.2.0" />
                    
Directory.Packages.props
<PackageReference Include="BrickStoreSharp" />
                    
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 BrickStoreSharp --version 1.2.0
                    
#r "nuget: BrickStoreSharp, 1.2.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 BrickStoreSharp@1.2.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=BrickStoreSharp&version=1.2.0
                    
Install as a Cake Addin
#tool nuget:?package=BrickStoreSharp&version=1.2.0
                    
Install as a Cake Tool

NuGet

BrickStoreSharp

.net Adapter for reading and writing BrickStore inventory files

Sponsoring

Implementing and maintaining this library is a lot of hard work. I'm doing this in my spare time, there is no company behind developing BrickStoreSharp. Support me in this work and help making this library better:

:heart: Sponsor me on github

Overview

BrickStoreSharp is a .NET library designed for handling BrickStore inventory files with ease and efficiency. This library allows users to read and write BrickStore inventory files (https://github.com/rgriebl/brickstore), providing a streamlined approach for managing and manipulating LEGO brick inventories. Features

  • Read and write BrickStore inventory files
  • Compatible with .NET Standard 2.0, .NET 8 and .NET 10
  • Simple and intuitive API

Installation

To install BrickStoreSharp, you can use the NuGet package manager:

Install-Package BrickStoreSharp

You can find more information about the nuget package here:

NuGet

Alternatively, you can clone this repository and build the library from source.

Usage

Here's a quick example to get you started:


using BrickStoreSharp;

// Load an inventory file
var inventory = BrickStoreInventory.Load("path/to/inventoryFile.bsx");

// Manipulate your inventory
// ...

// Save changes to a new file
inventory.Save("path/to/newInventoryFile.bsx");

For more detailed usage instructions, please refer to the documentation.

Contact and contributing

We welcome contributions to BrickStoreSharp! If you have suggestions or want to contribute code, please feel free to open an issue or create a pull request.

License

BrickStoreSharp is released under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0.html for details.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

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
1.2.0 56 10/28/2026
1.1.0 296 1/23/2024
1.0.0 272 12/30/2023

1.2.0
New
* Targets .NET Standard 2.0, .NET 8 and .NET 10
* New item properties Reserved, Cost, TotalWeight, MarkerText and MarkerColor
* Elements not interpreted by the library (e.g. DifferenceBaseValues, GuiState) are kept in AdditionalElements and written back unchanged
* Item types unknown to the library are written back unchanged
* Inventory comment is read back when loading
* Faster loading: each item is read in a single pass

Fixed
* Endless recursion when loading from a stream
* File handles not being released after loading
* Prices of 1000 and more were written in a corrupted format; numbers are now written culture-invariant and without rounding
* Status, condition, item type and sub condition are written as BrickStore codes (I/X/E, N/U, ...)
* Currency and BrickLinkChangelogId are read and written as attributes of <Inventory>
* Category, comments, retain, bulk, sale, stockroom, sub condition and tiered prices are no longer lost on save/load
* Default values and empty elements are no longer written
* Saving to a file writes a temporary file first, an existing file is never destroyed by a failed save
* Invalid XML characters throw on save instead of producing unreadable files
* External entities are never resolved when loading (XXE)

Breaking changes
* Synchronous Load/Save throw the original exception instead of an AggregateException
* Missing text elements load as null instead of an empty string
* Items without color are written with ColorID 0 (BrickLink's 'Not Applicable'), as ColorID is required by BrickStore

1.1.0
* More complete mapping of item fields, type safety enhancements and bug fixes

1.0.0
* Initial version