Error when calling webservice: "The type 'System.ComponentModel.INotifyPropertyChanging' is defined in an assembly that is not referenced"
<p>I can call my web service by accessing it in a web browser on the server but when I call it via a Soap client from my test client, I get the following exception:</p>

<p>"The type 'System.ComponentModel.INotifyPropertyChanging' is defined in an assembly that is not referenced. You must add a reference to assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'."</p>

<p>..rest of the stack trace is below.</p>

<pre><code>   at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)

   at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)

   at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)

   at System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings, Type type)

   at System.Web.Services.Protocols.SoapServerType..ctor(Type type, WebServiceProtocols protocolsSupported)

   at System.Web.Services.Protocols.SoapServerProtocol.Initialize()

   at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean&amp; abortProcessing)

   --- End of inner exception stack trace ---
</code></pre>

<p>Now I have this System.dll added as a reference in my web service project and it is set to copy to local. That dll isn't in the GAC on the server (but is locally on my development server) - is that going to be the issue?</p>

<p>I have the following section in my web.config:</p>

<pre><code>&lt;add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"&gt;
&lt;add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" &gt;
&lt;add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /&gt;
&lt;add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /&gt;
</code></pre>

<p>I don't get it? If the dll is in the bin folder and that reference is there as well as being added to my project, what is it complaining about?</p>

<p>These are the dlls in my bin folder:</p>

<pre><code>Devart.Data.dll
Devart.Data.Linq.dll
Devart.Data.Oracle.dll
Devart.Data.Oracle.Linq.dll
Oracle.DataAccess.dll
System.ComponentModel.Composition.dll
System.ComponentModel.DataAnnotations.dll
System.Configuration.dll
System.Data.dll
System.Data.Entity.dll
System.dll
System.Runtime.Serialization.dll
System.Web.dll
System.Web.Services.dll
System.Xml.dll
</code></pre>

<p>I'm genuinely stumped, does anyone know why I am getting this error?</p>
