I am using MSMQ and have a program that works on 1 machine but when I try to take/build to another machine with .NET SP1 installed. It can't find System.Messaging.DLL. On the working machine, it uses a reference from
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5
Found this.. seems related. "Client Profile"? http://nlog-project.org/2010/03/04/support-for-net-framework-4-client-profile-in-nlog-2-0.html
Mine has a slightly different path (created a project using .NET 3.5 Client Profile):
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client\System.Messaging.dll
So even if you're using client profile, you can still use System.Messaging.dll. If you want to make sure the assembly is there, you can always mark Copy Local as True and the assembly will be copied to your bin folder upon build.