How to build with the GITHUB libraries?

I’ve posted about an issue on Github with the Modbus library and I’d like to be able to work with the source so I can make changes and offer feedback.

When I try to add the Modbus library to my project and build it, I get the following error:

error : This project references NuGet package(s) that are missing on this computer. The missing file is ..\packages\GHIElectronics.Tools.NuGetPacker.1.0.3\build\GHIElectronics.Tools.NuGetPacker.targets.

When I use the Nuget package manager, this is already installed.

What do we need to do to build our app with the actual source on Github for testing?

Not sure if this is your issue or not but when I was working with the Modbus library I added it as an existing project to my main project. If I recall correctly I had to add some references in the Modbus project with Nuget for:
TinyCLR.Devices.Uart
TinyCLR.Native
TinyCLR.Networking

In short, to modify and then build the source you would have needed to first clone the repository. If you have done that, then you need to create referances from those local files, not from nuget. Basically anything you have now cloned, the nuget or at least the referance should be removed.
You may need to build the indivudual libraries first to get a referance. And take note of the build order/dependacy tree.

To be technically accurate you dont need to clone the repository, rather just have downloaded the source locally, but if you want to contribute like you say, you should clone the repo so you can then make pull requests

I’ve done that after removing the previous entries but they show up with a yellow triangle and version number 0.0.0.0 in Properties.

I still get the Nuget packer missing error.

I think I see why though, the source code is using 2.1.0 and not 2.1.0-rc2

@Dave_McLaughlin , to be clear if your goal is:

to be able to work with the source so I can make changes and offer feedback

How might one be able to modify and build using referances to the libraries, and not having the source itself?
Sorry, but always looking to understand better if im missing something.

Correct, release is coming tomorrow.

I’ve managed to build the library by loading the total solution in a separate VS instance and reference the DLL needed in the code I am working on. That works as my change to add the Thread.Sleep(0) in the Modbus library means that my touch screen now works without missing touches.

Is that in the Device library? Is the “touch screen” an external HMI or is the SitCore touch screen missing touches?

Hi Steve, it is in the libraries. If I click a button when the Modbus is in the receive telegram, there is no response from the touch driver (cap touch with the FT5x) If I add the Thread.Sleep(0) in the library, the touch now responds to every touch. I have enabled debug to show down and up and it freezes if the Sleep is not included. The receive is in a loop with no yield for the Modbus timeout.

You need ‘GHIElectronics.Tools.NuGetPacker.1.0.3.nupkg’ is in your local nuget folder. This is always in every release/preview.

2 Likes

Why don’t we add this in the readme file? Step by step on how to build the libs.

5 Likes