Thanks for sending the files. There isn't only one solution (sln) in the file and it shows a lot more projects than you zip contained so it is difficult to easily see what you are doing.
The files you sent also show some confusion with locations of sources which might confuse things.
The files show three attempted projects. 2 x arduino sketch projects which look good and also a folder called SmrtHeads which I guess should be a shared project but it is not.
The project file of SrchLightHead shows links to a variety of shared projects (either code of libraries) but the locations are not great and also the physical files are not provided in your zip.
I suggest we step back a little and clean up the code folder structure. That will also make things simpler and more obvious for you. Keep in mind that an arduino sketch project is a final application, the code can not also be a shared project. There are ways so share code between application projects but is will confuse even more.
An important note is that the visual studio .sln, .vcxproj and .vcxitems files are simple text files that contain paths to the files and shared projects you have referenced. You can edit them with a text editor if need be.
1)
You SrchLightHead project shows you have configured many shared project references. Please clear the list down and exclude all standard arduino libraries from your project and solution. (I have changed the paths slightly to protect names)
<ImportGroup Label="Shared">
<Import Project="..\libraries\Adafruit_NeoPixel\Adafruit_NeoPixel.vcxitems" Label="Shared" />
<Import tems" Label="Shared" />
<Import 21\libraries\EEPROM\EEPROM.vcxitems" Label="Shared" />
<Import Project="..\libraries\onewirearduinoslave\onewirearduinoslave.vcxitems" Label="Shared" />
<Import Project="..\libraries\OneWire-master\OneWire-master.vcxitems" Label="Shared" />
<Import " Label="Shared" />
<Import Project="..\libraries\SerialPort\SerialPort.vcxitems" Label="Shared" />
<Import Project="..\SmrtHeads\SharedCode\SharedCode.vcxitems" Label="Shared" />
<Import Project="..\SmrtHeads\SharedCodeRS\SharedCodeRS.vcxitems" Label="Shared" />
</ImportGroup>
2)
Do NOT put libraries or code below the _micro-api folder of a project. This facility is an older way of working with shared external code and libraries prior to the release of support for shared projects (vcxitems). Shared projects allows us to organize code in a cleaner way. See the next point
3)
I recommend creating a folder for the .sln file at the root of any "projects" structure and then create more obvious places to locate arduino sketch code versus shared code.
For example this folder structure:-
MyProjects
MyProjects\MyProjects.sln
MyProjects\SharedCode
MyProjects\SharedCode\Project1
MyProjects\SharedCode\Project1\Project1.vcxitems
MyProjects\SharedCode\Project1\foo.h
MyProjects\SharedCode\Project1\foo.cpp
MyProjects\SharedCode\Project2
MyProjects\SharedCode\Project2\Project2.vcxitems
MyProjects\SharedCode\Project2\foo.h
MyProjects\SharedCode\Project2\foo.cpp
MyProjects\SharedLibraries
MyProjects\SharedLibraries\SharedLib1
MyProjects\SharedLibraries\SharedLib1\SharedLib1.vcxitems
MyProjects\SharedLibraries\SharedLib1\library.properties
MyProjects\SharedLibraries\SharedLib1\foo.h
MyProjects\SharedLibraries\SharedLib1\foo.cpp
MyProjects\Projects
MyProjects\Projects\Project1
MyProjects\Projects\Project1\Project1.vcproj
MyProjects\Projects\Project1\Project1.ino
MyProjects\Projects\Project2
MyProjects\Projects\Project2\Project2.vcproj
MyProjects\Projects\Project2\Project2.ino