Skip to content
samatrhea edited this page Oct 18, 2026 · 9 revisions
ReqIFSharp

ReqIFSharp is an open source .NET library to read, write and query OMG ReqIF documents. Use it to import requirements from tools such as IBM DOORS, Siemens Polarion, PTC Codebeamer or ReqIF Studio into your own application, to export requirements back to them, or to build pipelines that check, transform and report on specifications.

var reqif = new ReqIFDeserializer().Deserialize("requirements.reqifz").First();

foreach (var specObject in reqif.CoreContent.SpecObjects)
{
    Console.WriteLine(specObject.LongName);
}

Where to start

I want to... Read
get something working in five minutes [[Quick Start
understand what is inside a ReqIF file [[ReqIF Concepts
load files, archives and streams, validate them and read attribute values [[Reading ReqIF
create a ReqIF document from my own data [[Writing ReqIF
navigate specifications, trace links and attachments with less code [[ReqIFSharp.Extensions
find out why something doesn't work FAQ
contribute to ReqIFSharp [[Developers Experience

The two packages

Package Contents
ReqIFSharp The complete ReqIF object model, the ReqIFDeserializer (read) and the ReqIFSerializer (write).
ReqIFSharp.Extensions Extension methods that answer common questions about a document, and the ReqIFLoaderService that loads a document and gives access to its attachments.

Both target netstandard2.0, so they run on .NET Framework 4.6.2 and later and on every modern .NET version. They version independently: ReqIFSharp 10.x goes with ReqIFSharp.Extensions 5.x. See the CHANGELOG for which versions belong together.

What ReqIFSharp supports

  • The complete ReqIF 1.2 object model, including XHTML rich text, enumerations and tool extensions.
  • .reqif files, and .reqifz / .zip archives with several ReqIF documents and embedded attachments.
  • Optional validation against the official ReqIF and XHTML schemas, which are embedded in the library.
  • Synchronous and asynchronous APIs with cancellation, for files and streams.
  • Round-trips that keep the namespace declarations and attributes of the original document.
  • Logging through Microsoft.Extensions.Logging.

See it working

The ReqIF Viewer is a web application built on ReqIFSharp and ReqIFSharp.Extensions. Open a ReqIF file in it to see what the library reads from your files. Its source is at STARIONGROUP/reqifviewer. See Users for other applications that use ReqIFSharp.

Getting help

Clone this wiki locally