Skip to main content

Setting Up a New Integration Solution in Visual Studio Code

How to create the integration solution in Visual Studio Code using the .NET CLI: adding the iPaaS.com Integration Template and Development Utility projects, building, and running the utility for the first time.

Every iPaaS.com integration is built from two publicly available projects that work together:

  • iPaaS.Integration.Template — the starting point for your integration. You rename this project after your third-party system and write your integration code inside it.

  • iPaaS.Integration.DevelopmentUtility — a console tool used to debug, test, and upload your integration to the iPaaS.com platform. It is added to the solution unchanged.

This guide walks you through creating a blank solution in Visual Studio Code, adding both projects to it from the built-in terminal, and completing the initial configuration. At the end you will have a solution that builds and is ready for integration development.

Both projects are public on GitHub:

💡 Prefer the full Visual Studio IDE? See the companion guide Setting Up the Integration Solution in Visual Studio. This article covers the same result using Visual Studio Code and the .NET CLI.

Naming convention

The solution is always named after the third-party system you are integrating, followed by .Data. Throughout this guide the placeholder 3rdpartysystemName.Data stands for your real name, for example NetSuite.Data, Xero.Data, or BigCommerce.Data. Wherever you see 3rdpartysystemName.Data, substitute your own solution name.

Prerequisites

  • Visual Studio Codecode.visualstudio.com

  • .NET 8 SDK — both projects target net8.0. Verify with dotnet --list-sdks in a terminal; an 8.x entry must be present.

  • C# Dev Kit extension (recommended) — adds C# IntelliSense and a Solution Explorer view. Not required for the commands in this guide.

  • A web browser — to download the two repositories as ZIP files.

  • Staging portal access — needed later, when configuring the Development Utility to talk to your staging environment, and to confirm the exact integration name in Step 14.

💡 Tip: Every command in this guide runs from the terminal built into Visual Studio Code, so you never need to leave the editor.

Part A — Create the solution

Step 1 — Open Visual Studio Code and choose Open Folder

Launch Visual Studio Code. On the Welcome page, under Start, click Open Folder… (or use File ▸ Open Folder…).

Step 2 — Select the folder that will hold the integration code

Navigate to the location where you keep your source code and select the folder for this integration. Create it first if it does not exist yet, and name it using the convention above, for example NetSuite.Data. Click Select Folder.

📝 Note: The folder you select here becomes the root of your solution. Every later command runs from inside it.

Step 3 — Open a new terminal

The folder now appears in the Explorer on the left. Open the built-in terminal by clicking Terminal ▸ New Terminal in the menu bar (shortcut Ctrl+Shift+`).

Step 4 — Confirm the terminal is pointing at your folder

A terminal panel opens at the bottom of the window. Check that the prompt shows the path of the folder you selected in Step 2. If it shows a different path, close the terminal and repeat Step 3.

Step 5 — Create the blank solution file

In the terminal, create a new empty solution named after your folder:

dotnet new sln -n 3rdpartysystemName.Data

Step 6 — Verify the solution was created

The Explorer should now show 3rdpartysystemName.Data.sln, and the terminal should report that the Solution File template was created successfully.

Part B — Download and place the project sources

The two projects are downloaded from GitHub as ZIP archives and copied next to the solution file. This part is done in your browser and your operating system's file manager.

Step 7 — Download both repositories

Open each repository page below, click the green Code button, and choose Download ZIP.

You will get two files, iPaaS.Integration.Template-main.zip and iPaaS.Integration.DevelopmentUtility-main.zip.

Step 8 — Unzip and remove the -main suffix

Extract both archives. The unzip creates an outer folder named after the ZIP; inside it is a second folder that also ends in -main. Navigate one level into each extracted archive and rename that inner folder so the suffix is removed:

  • iPaaS.Integration.Template-mainiPaaS.Integration.Template

  • iPaaS.Integration.DevelopmentUtility-mainiPaaS.Integration.DevelopmentUtility

⚠️ Why this matters: The folder names become the project paths in your solution and in the commands below. Leaving -main in place will work, but every path in this guide would then be wrong for you.

Step 9 — Copy both project folders into the solution folder

Copy the two renamed folders into the folder that contains 3rdpartysystemName.Data.sln (the folder from Step 2). The result should match the tree in Expected folder structure at the end of this guide.

Step 10 — Remove the projects' own solution and source-control files

Each downloaded project ships with its own solution file, which would conflict with the one you just created. Delete the following:

Folder

File(s) to delete

iPaaS.Integration.Template

Integration.Template.sln

iPaaS.Integration.DevelopmentUtility

IntegrationDevelopmentUtility.slnx, IntegrationDevelopmentUtility.csproj.vspscc

⚠️ Careful: Do not delete 3rdpartysystemName.Data.sln in the root folder. That is the solution you created in Step 5 and the one you will keep working in. Do not delete the .csproj files either; you add those to the solution next.

Part C — Add the projects to the solution

Back in the Visual Studio Code terminal (still pointing at the solution folder), register each project with the solution file.

Step 11 — Add the Integration Template project

dotnet sln 3rdpartysystemName.Data.sln add .\iPaaS.Integration.Template\Integration.Template.csproj

The terminal responds with Project ...Integration.Template.csproj added to the solution.

Step 12 — Add the Development Utility project

dotnet sln 3rdpartysystemName.Data.sln add .\iPaaS.Integration.DevelopmentUtility\IntegrationDevelopmentUtility.csproj

💡 Finding a project's path: If you prefer a full path, right-click the .csproj file in the Explorer and choose Copy Path.

Step 13 — Verify the solution structure

The Explorer should now show the solution file and both project folders side by side. You can also list the projects registered in the solution:

dotnet sln 3rdpartysystemName.Data.sln list

Part D — Configure the integration

Before the first build, point the template at the integration you registered on the staging portal.

Step 14 — Rename the AppName variable

In the Explorer, open iPaaS.Integration.Template\Interface\MetaData.cs. Near the top of the file, inside the Identity class, you will find:

public static string AppName = "Integration";  // rename this

Replace "Integration" with the exact name you gave the integration when you set it up under the Integrator view configurator on the staging portal, then save the file. For example:

public static string AppName = "NetSuite";

⚠️ Why this matters: A few lines further down, LoadMetaData() builds the integration file name ({AppName}.Data.dll), its namespace ({AppName}.Data.Interface), and its display name from this one value, so it must match the name the platform expects for your integration, including capitalization and spacing.

Part E — Build and run the Development Utility

Step 15 — Build the solution

From the solution folder, build everything. The first build restores NuGet packages, so it can take a minute:

dotnet build

The terminal must end with Build succeeded and 0 Error(s). Warnings are acceptable. If there are errors, check that the .NET 8 SDK is installed and that both .csproj paths in Steps 11–12 were correct.

Step 16 — Run the Development Utility

Whenever you want to debug your integration or upload it to Staging, start the utility with:

dotnet run --project .\iPaaS.Integration.DevelopmentUtility

ℹ️ Before you start: The utility signs in to Staging when it launches, so appsettings.json in the iPaaS.Integration.DevelopmentUtility project must contain your Staging credentials (see Before you commit anything below).

Step 17 — Explore the available commands

If the utility loaded successfully you will see a prompt like:

Enter test command (UPLOAD, HOOK, TEST, BUILDMODELS, CONVERSIONFUNCTION) - Type HELP for a list of commands:

Type /? or HELP and press Enter to list all available commands. For a detailed description of any single command, type its name followed by /?, for example:

TEST /?

🛠️ Troubleshooting: If the window closes immediately or shows a login error, check the credentials in appsettings.json and confirm that the integration exists on the Staging portal under the name you set in Step 14.

Before you commit anything

⚠️ Sensitive data: iPaaS.Integration.DevelopmentUtility\appsettings.json holds your staging environment credentials and must never be checked into version control. The project's .gitignore already excludes it. Keep it that way, and if you initialise a new repository at the solution root, confirm with git status that the file is not listed before your first commit. If credentials are accidentally committed, treat them as compromised and rotate them in the Staging portal immediately.

Verification checklist

Before you begin development, confirm each of the following:

  • dotnet sln 3rdpartysystemName.Data.sln list shows both Integration.Template.csproj and IntegrationDevelopmentUtility.csproj.

  • The solution folder contains only one .sln file (yours), and no .slnx or .vspscc files.

  • appsettings.json is listed in .gitignore and does not appear in git status.

  • Identity.AppName in Interface/MetaData.cs matches the integration name on the Staging portal.

  • dotnet build completes with Build succeeded and 0 Error(s).

  • dotnet run --project .\iPaaS.Integration.DevelopmentUtility reaches the Enter test command prompt.

Command reference

Command

Purpose

dotnet new sln -n <Name>

Create an empty solution file

dotnet sln <Name>.sln add <path\to\project.csproj>

Register a project with the solution

dotnet sln <Name>.sln list

List the projects in a solution

dotnet build

Restore packages and build every project

dotnet run --project <path\to\project>

Build and start a project

/? or HELP

Inside the utility: list all commands

<COMMAND> /?

Inside the utility: detailed help for one command

Expected folder structure

3rdpartysystemName.Data\
├── 3rdpartysystemName.Data.sln
├── iPaaS.Integration.Template\
│   └── Integration.Template.csproj   (+ source files)
└── iPaaS.Integration.DevelopmentUtility\
    ├── appsettings.json   (never committed)
    └── IntegrationDevelopmentUtility.csproj   (+ source files)
Did this answer your question?