# total newbe question about building the MSVS C# project

**URL:** https://discourse.kitware.com/t/total-newbe-question-about-building-the-msvs-c-project/655
**Category:** Pulse Physiology Engine
**Created:** [June 8, 2021, 9:57pm UTC](https://discourse.kitware.com/t/total-newbe-question-about-building-the-msvs-c-project/655 "2021-06-08T21:57:28Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Joe\_Bell](https://discourse.kitware.com/user_avatar/discourse.kitware.com/joe_bell/32/433_2.png) [@Joe\_Bell](https://discourse.kitware.com/u/Joe_Bell)
#### Post date: [June 8, 2021, 9:57pm UTC](https://discourse.kitware.com/t/total-newbe-question-about-building-the-msvs-c-project/655/1 "2021-06-08T21:57:28Z")

</div>

I downloaded the C# zip for release 3.2.0, loaded the two projects (HowToDriver & Pulse), tried to build, and got over 30 errors. They are all missing file complaints. Everything under the ‘bind’ folder is marked with a red x, as in missing, not there. Probably because the ‘bind’ folder is also missing lol. I’m sure this is a silly error on my part, but I have never used GitLab before. Was I supposed to get the bind folder and its contents through some separate operation?

---

<div class="post-metadata">

### Author: ![abray](https://discourse.kitware.com/user_avatar/discourse.kitware.com/abray/32/12_2.png) [@abray](https://discourse.kitware.com/u/abray)
#### Post date: [June 8, 2021, 10:08pm UTC](https://discourse.kitware.com/t/total-newbe-question-about-building-the-msvs-c-project/655/2 "2021-06-08T22:08:42Z")

</div>

Hi Joe

Gitlab only hosts the souce code  
Pulse is a C++ library, so you have to build the complete code base before you can actually use the C# files provided in the repository.  
The bind folder will be generated during the build process.

The easist way to grab a prebuilt version of the Pulse API, is to grab the [unity asset](https://assetstore.unity.com/packages/tools/integration/pulse-physiology-engine-139773) (are you trying to use C# unity?). I will be updating our unity asset in the store with 3.2 this week.

If you are using windows, (since you are using c#?), its pretty easy to build the code base. You can either use git to clone the repository or you can download the [zip of the entire code base](https://gitlab.kitware.com/physiology/engine/-/archive/REL_3_2_0/engine-REL_3_2_0.zip). Once you have the code base, you can follow [these build instructions](https://gitlab.kitware.com/physiology/engine/-/wikis/Using%20MSVC)

If you are using C# on a different OS let me know.

---

<div class="post-metadata">

### Author: ![Joe\_Bell](https://discourse.kitware.com/user_avatar/discourse.kitware.com/joe_bell/32/433_2.png) [@Joe\_Bell](https://discourse.kitware.com/u/Joe_Bell)
#### Post date: [June 9, 2021, 3:30pm UTC](https://discourse.kitware.com/t/total-newbe-question-about-building-the-msvs-c-project/655/3 "2021-06-09T15:30:12Z")

</div>

I’m totally confused. I’m actually planning to do my own simulation coding, probably in Apple Swift via Xcode, and I don’t necessarily care that much about the built libraries. What I really need is to see the source code for the circuits, as you call them. I have downloaded the entire code base as you directed, and it is identical to what I already downloaded, and I am just not finding the circuit logic anywhere, in any language. I’m feeling like a complete idiot. I know it must be there somewhere, but I just can’t find it.

BTW, so you don’t think I’m a complete amateur lol, I will tell you I did do simulation programming back in the day, in Fortran, and C++, for a nuclear plant control room training simulator for Exelon, so I’m ok once I can find the code. This open source environment though is completely new to me, and I have no idea where all the pieces and parts are, so please bear with me while I learn. 🙂

---

<div class="post-metadata">

### Author: ![Joe\_Bell](https://discourse.kitware.com/user_avatar/discourse.kitware.com/joe_bell/32/433_2.png) [@Joe\_Bell](https://discourse.kitware.com/u/Joe_Bell)
#### Post date: [June 9, 2021, 3:42pm UTC](https://discourse.kitware.com/t/total-newbe-question-about-building-the-msvs-c-project/655/4 "2021-06-09T15:42:27Z")

</div>

Um, ok, I just found the circuit code. Sorry. 🙂

---

<div class="post-metadata">

### Author: ![abray](https://discourse.kitware.com/user_avatar/discourse.kitware.com/abray/32/12_2.png) [@abray](https://discourse.kitware.com/u/abray)
#### Post date: [June 9, 2021, 5:11pm UTC](https://discourse.kitware.com/t/total-newbe-question-about-building-the-msvs-c-project/655/5 "2021-06-09T17:11:51Z")

</div>

We use google protobuf to define all of our [data structures](https://gitlab.kitware.com/physiology/engine/-/tree/master/src/schema/pulse) to support serialization  
So during the build, we use the protobuf compiler to generate C++, C#, Java, and Python files that handle all the serialization. These files are what gets populated in the bind directory during the build.

Glad you found the circuits  
[This is where the circuit related classes are defined](https://gitlab.kitware.com/physiology/engine/-/tree/master/src/cpp/cdm/circuit) (including the [circuit solver](https://gitlab.kitware.com/physiology/engine/-/blob/master/src/cpp/cdm/circuit/SECircuitCalculator.cpp))  
[This is where we build out circuits to test](https://gitlab.kitware.com/physiology/engine/-/tree/master/src/cpp/cdm/test)  
[This is where we build the circuits specific to Pulse](https://gitlab.kitware.com/physiology/engine/-/blob/master/src/cpp/cpm/controller/SetupCircuitsAndCompartments.cpp)
