This post explains how to set up a Visual Studio project that builds a TSF-based application that is immediately ready for remote deployment.

In part 1 we have seen that we needed to copy a piece of Sho into the build target folder of the application, more specifically we needed to copy MathFunc.dll, MatrixInterf.dll, Rand.dll , ShoArray.dll as well as the entire Sho's bin\bin64 or bin\bin32 folder into the build target folder.

In Visual Studio this can be automated in three mechanical steps.

For simplicity I spell out the steps assuming that the remote deployment machines are all 64-bit machines.

Step 1. Right click on the application's startup project, select Add | Existing Item , navigate to the Sho installation folders and multiselect select MathFunc.dll, MatrixInterf.dll, Rand.dll , ShoArray.dll there. Having added these files to the project, multiselect them them, right click, select Properties, and change the "Copy to Output Directory" property to "Copy always"

Step 2. Right click on the application's startup project, select Add | New Folder, name the new folder bin64 . Right click on the project's bin64 , select Add | Existing Item , navigate to the Sho's bin\bin64 folder and add all the DLLs to be found there. Having added these DLLs to the project, multiselect them them, right click, select Properties, and change the "Copy to Output Directory" property to "Copy always"

Step 3.  Right click on the project's bin64 folder, select Add | New Folder, name the new folder MKLLibs. Right click on the project's MKLLibs folder , select Add | Existing Item , navigate to the Sho's bin\bin64\MKLLibs  folder and add all the DLLs to be found there. Having added these DLLs to the project, multiselect them them, right click, select Properties, and change the "Copy to Output Directory" property to "Copy always"

Done.

Now, whenever you build the application, the output folder will get properly populated with both your application bits and all the requisite pieces of Sho. You do not have to ever repeat the above 1,2,3 steps again for this application.

As an example, snapshot below show the steps applied to a clone of TSF.NET  Sample_Calendar events project.

Solution after Step1.

 

Solution after Step2.

 

 

Solution after Step3.