I have a CLR based stored procedure which used MsmqIntegrationBinding to post messages to remote MSMQ\'s. Everything was working fine in SQL Server 2005 but now
I have the same issue as you, and I don't know if there's a solution for it. What I have found is:
There are two types of .NET assemblies. Pure .NET assemblies only contain MSIL instructions. Mixed assemblies contain both unmanaged machine instructions and MSIL instructions. Mixed assemblies in general are compiled by C++ compiler with /clr switch but contain machine instructions resulting from native C++ code.
Regardless which version of SQL Server, CREATE ASSEMBLY only allows pure .NET assemblies to be registered. SQL Server has always required that an assembly to be loaded into SQL Server database with CREATE ASSEMBLY contains only MSIL instructions (pure assembly). CREATE ASSEMBLY will raise the above error if an assembly to be registered is mixed assembly.
From http://blogs.msdn.com/b/psssql/archive/2013/02/23/unable-to-register-net-framework-assembly-not-in-the-supported-list.aspx
The point is that we really need to refer to System.ServiceModel.
So, my guess is that, in the near future, there is no fix for it. What we have to do is code in another way.