Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Which Assemblies to include?

C# VB.net serial port file

  • Please log in to reply
2 replies to this topic

#1 Username

Username

    New Member

  • Members
  • Pip
  • 2 posts

Posted 21 January 2013 - 07:23 AM

There are assemblies in the Microsoft SPOT framework which is part of the DotNetMF SDK. Then, when you download the Netduino SDK, there are assemblies part of this SDK. Some of these seem to be duplicated, just to give an example.

 

 

Microsoft.SPOT.Hardware

SecretLabs.NETMF.Hardware

SecretLabs.NETMF.Hardware.NetduinoPlus

 

Microsoft.SPOT.IO

Secretlabs.NETMF.IO

 

So far, I could not make anything from which assemblies to use for what. Neither could I find any documentation. From what I could see, most of the forum questions when struggling to get programs running relates to selecting the appropriate assemblies.

 

As this is a Netduino Forum, I would like to request that the Netduino SDK be expanded to include a simple document which explains what the purpose is of each assembly and when to include it.

 



#2 CW2

CW2

    Advanced Member

  • Members
  • PipPipPip
  • 1592 posts
  • LocationCzech Republic

Posted 21 January 2013 - 11:08 AM

Well, these assemblies are not really duplicates - the are named according to assembly naming conventions, where the name follows <company>.<component>.dll pattern, it often includes the namespace too.

 

Microsoft.SPOT.Hardware.dll contains the hardware classes of Microsoft's SPOT, which was the original name of what is now known as .NET Micro Framework. The documentation is available on MSDN (version 4.2, version 4.3).

 

Assemblies that start with SecretLabs are vendor-specific extensions that provide additional functionality, it can be common for all SecretLabs boards (SecretLabs.NETMF.Hardware) or only for a selected board - then it is indicated by the board name, i.e. SecretLabs.NETMF.Hardware.NetduinoPlus contains features available only on/for NetduinoPlus.

 

Also, the assembly contents can be inspected in Visual Studio's Object Browser, or using tools like .NET Reflector (or similar). You'd need to include a particular assembly in your project when you want to use a type exposed from that assembly.

 

AFAIK there are a few assembly-related problems people usually encounter while working with .NET MF projects:

  • When the project is not created from SecretLabs template, it does not include SecretLabs.*.dll assemblies, so they must be added manually. 
  • Certain types are in assemblies that are not included by default and must be added manually (e.g. System.IO.Ports for SerialPort). Sometimes, the name of the assembly does not match its counterpart in the 'full' .NET Framework, which some people might find confusing.
  • After upgrading the SDK or device firmware, in projects that still reference old version of assemblies there is often a mismatch during deployment. It is necessary to either change target .NET MF version in project settings, or update the references (i.e. remove existing, add new).

Welcome to the community!



#3 Username

Username

    New Member

  • Members
  • Pip
  • 2 posts

Posted 23 January 2013 - 07:28 PM

Hi, thanks for the info, but this raises more questions than answers. It is also time consuming to manually inspect each assembly as you are suggesting. And you are confirming the confusion with the different assemblies, different versions and manufacturer specific extensions. 

 

Maybe some day someone will find a solution for this.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.