In my last posts, I’ve described some of the features of the BTSG NoS Addin. In this post, we will continue to have an overview of all features available with this Visual Studio Addin and how you can use them.
📝 One-Minute Brief
Part 4 of the BTSG NoS Add-in series presents productivity and analysis features designed to help BizTalk developers navigate and maintain large solutions. The add-in can quickly locate files inside Visual Studio, analyze internal and external dependencies between BizTalk artifacts, detect critical deployment dependencies, and generate refactoring reports. These capabilities help developers understand impact before making changes, avoid deployment errors, and safely modify schemas, maps, and orchestrations across complex BizTalk projects.
Locate it
How many times have you opened your old or new project with several files open in the Visual Studio MDI window, and you want a simple way to locate where this file is in your project’s structure? For example, you are working on a transformation but know you need to locate the map file to specify a TestMap Input Instance… if you don’t know exactly where it is, you need to check the full path of the map and then manually navigate in the solution explorer to the file that you want.

Finally, now you will have an easy way to accomplish this! Which will save us much time in the development process. For me, this is one of the basic features that are time-savers.
Note: Even if you don’t have the Solution Explorer window open, this feature will find the file you are looking for and automatically open (or give the proper focus) the Solution Explorer window!
You can access these features by:
- On the Visual Studio MDI window, right-click in the tab with the name of the file and select the Locate it! option.

The result is, as you can see in the picture below, the project will be expanded, and the desired file will be selected:

Again, this is very useful for a BizTalk Developer because he needs to locate the file to test or generate schema instances, or test, validate, or debug maps.
Dependencies
This Addin will provide several options to managing dependencies among BizTalk artifacts. Choosing what to use will depend on the situation and what you want to achieve.
External Dependencies
Sometimes we want to know who uses this artifact. This is really useful to getting a clear sense of where the changes we need to make can have impacts. For example, if I need to change a schema, will these changes affect my maps or my orchestration? So I really need to know, before modifying my resource, which artifacts are using it.
You can access these features by:
- Right-click in your resource (file) name and select the External Dependencies option.

The result is, as you can see in the picture below, the project will be expanded, and all the resources that are consuming the artifact will be selected:

Note: You will also have available the option to automatically open all the files (this is a behavior/functionality that you will find in many features).

Internal Dependencies
Well, if you like the previous one, this will be the opposite and also useful in several situations. In this case, we want to know what this artifact uses (or which artifacts it consumes). For example, I need to modify the schema, or the Schemas, used by a map… and you need to remember that in a huge solution, this simple task to find schemas in your solution can be a challenge and a boring, repeated task for BizTalk developers!
Don´t get me wrong, we have all the information on the map file by simply placing the cursor over the schema:

But again, out of the box, I don’t have any easy way to locate and open the schemas; I need to manually navigate in the solution explorer to the file that we want.
You can accomplish this by accessing this feature:
- Right-click in your resource (file) name and select the Internal Dependencies option.

The result is, as you can see in the picture below, the project will be expanded, and all the resources that were consumed by the artifact will be selected:

These are simple things/operations, but they are a time saver for a BizTalk Developer. For example, about orchestration, I can ask internal dependencies and select the option Open it, because I want, with one click, to have available and ready to work all the artifacts (schemas, maps, and so on) to make all the necessary changes.
Critical dependencies
This feature can be found in the project context and will find all critical dependencies to solve the classical problem that you may have when deploying a project or solution, for example, a pipeline (or other artifacts like map and so on) that exist in this project is being used by an external application, normally Visual Studio will generate an error about a foreign key database strict without to specify who the application is or what port that is using it.

You can accomplish this by accessing this feature:
- Right-click on the name of your project and select the Critical Dependencies option.
The result is, as you can see in the picture below, the project will be expanded, and all the resources that were consumed by the artifact will be selected:

In this manner, you can fix it and decide on your deployment strategies.
Heuristic Dependencies
We will talk about these features (there are 6 Heuristic Dependencies!) in another post.
Refactory
Similar to the Reflector feature, the Refactory will create a simpler report with a circular reference (internal and external) to other artifacts, which can be very useful for understanding the refactory strategy to use.
You can accomplish this by accessing this feature:
- Right-click on your artifact (Orchestration, map, schema…) and select the Refactory option.

This feature will provide some statistics and information’s about
- Who is using this artifact?
- And what artifacts this resource is consuming.
- And some general information like complexity, persistent point, and error handling (in orchestrations) and so on.

Hope you find this helpful! If you liked the content or found it useful and would like to support me in writing more, consider buying (or helping to buy) a Star Wars Lego set for my son.

1 thought on “What is BTSG NoS Addin purpose and what features are available? (Part 4)”