Search code examples
.netmsmqmessaginggac

System messaging dll missing?


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

The folder exist on client machine but there is no messaging DLL -- I don't have subfolder Client. How can I make sure my clients have System.Messaging. Was this an SP1 release? Confused. I thought if it was in the GAC that it could be found anyway.

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


Solution

  • 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.