Skip to content

SDK Development

Rico Suter edited this page Mar 16, 2018 · 12 revisions

Required tools and SDKs

To develop the NSwag toolchain, you need the following tools and SDKs:

  • Visual Studio 2017
    • ".NET desktop development" workload (required for WPF projects [i.e. NSwagStudio])
    • "ASP.NET and web development" workload (required for ASP.NET projects)
    • ".NET Core cross-platform development" workload (required for .NET Core projects)
  • (optional) Wix Toolset (required to build the MSI installer)
  • (optional) NodeJS (required to build the NSwag.Npm package)

Execute from Visual Studio

Now, you should clone the Git repository and open the src/NSwag.sln solution in Visual Studio. Set Frontends/NSwagStudio as startup project and hit F5 to start the application.

Reference NJsonSchema with project references

The DTO classes (e.g. request/response classes) to JSON Schema conversion and code generation is implemented in NJsonSchema.

Often, a code change requires changes in NJsonSchema and NSwag and thus it is nice to have all libraries in one solution (i.e. resolve NuGet references to project references). For this I use the Visual Studio extension NuGet Reference Switcher. To avoid problems, you should unload all .NET Core projects in the NSwag solution before switching.

Add a new runtime

  • Update NSwagStudio nswag.cmd
  • Add new enum value to NSwag.Commands.Runtime
  • Add new target framework to NSwag.ConsoleCore project
  • Add new runtime to the NSwagStudio.Installer project's build events
  • TBD