11-08-2006 11:12 AM
I think that in your scenario, this is NOT correct. The only time you should need the SDK is if you are actually developing .NET code modules. The SDK is required to build the code modules. TestStand itself simply calls the code modules, which requires only the Runtime.
If I make a sequence that calls .net steps and give this sequence to other developers, what pre-requisites are there for running my sequence on another devlopment system? In this case, the sequence needs to be executed, but the .net steps do not need to be edited.
The prerequisites depend on the code in the .NET code modules. At a minimum, they will require the .NET Runtime. You would need to ask the .NET code module developers if their code has any other dependencies that require you to install any other software to call into them. For example, if the .NET code modules are calling the National Instruments DAQmx .NET API, then you would need the DAQmx .NET libraries. As another example, it is conceivable that the .NET code modules are implemented in such a way that they require the SDK be installed on the system that calls into them. However, I would consider this to be a mistake in .NET code module implementation.
In an earlier post, you mentioned that you are editing the .NET steps. I assume that this means that you are configuring parameter values in TestStand and not editing the .NET source code itself. If this assumption is incorrect, then you will need the SDK (at a minimum).
11-09-2006 04:02 AM
03-02-2007 01:00 PM
The better solution to this issue is as following, assuming that Visual Studio 2005 is used for developing the .NET assembly which is called by TestStand steps using .NET adaptor:
1) On develop machine, in the solution where you have your project to build class library (.NET assembly), add a Setup project, make the class library project the "project output" of the Setup project, add file mscorcfg.dll which should exit on develop machine, e.g., C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\mscorcfg.dll to setup project as well. Set the Folder property of both items to Global Assembly Cache Folder. You will see Microsoft .NET Framework is listed as Detected Dependencies of this project.
2) Build Setup project yields a .msi file, e.g., MyAssembly.msi.
3) Deploy MyAssembly.msi to the machine where this assemply is to be used.
4) Run MyAssembly.msi. If .NET framework 2.0 is not installed on that machine, it will open a dialog telling you to download it first.
5) After .NET framework is downloaded, run MyAssembly.msi again, both MyAssembly.dll and mscorcfg.dll will be registered in global assembly cache.
Now you are ready to run TestStand sequence editor to create a step using .NET adaptor and specify module for this step, creating a class object in the assembly, calling a method of the class, etc. There is no need to install .NET framework SDK on a machine that just uses the .NET assembly.
03-05-2007 02:58 AM
Thanks very much for that further info. I'll pass that on to our resident .net boffin.
-Sean.
05-11-2007 02:05 AM
05-11-2007 06:32 AM - edited 05-11-2007 06:32 AM
Message Edited by drohacek on 05-11-2007 06:32 AM
04-30-2008 12:59 PM
04-30-2008 04:24 PM
*bump* Compiling a simple test Assembly in VS2005 and referencing the produced DLL from TS 3.1 does not produce this problem. This leads me to believe there is *something* going on with how my other project has been defined. However, I have exhausted my limited knowledge on this subject and would appreciate some external insight into the problem...
Thanks
05-01-2008 08:46 AM
05-02-2008 09:24 AM