That's a common error message whenever the Silverlight runtime can't get to the assembly. Usually either IIS isn't serving the DLL to browsers or the path in the Xaml file to the assembly is not the right path relative to the HTML page or Web Form consuming the Silverlight content.
Issue 1: IIS not serving the DLL to browsers.
The easiest way to check this is to manually give the browse the URL to the DLL itself and see if you get the Open/Save dialog from IE. If you do, the assembly is being served correctly. If you don't, IIS isn't configured to serve the assembly. For us, this usually happened for Virtual Directories which were configured with 'Execute Permissions' set to 'Scripts and Executables'. Run the inetmgr tool, right-click on your Virtual Directory, and look at the value for Execute Permissions on the Directory tab. It should be 'Scripts Only' so that IIS tries to serve the assembly as a file rather than looking for an entry point to execute it.
Issue 2: Assembly path isn't relative to the web page consuming the Silverlight content
Currently the Xaml files need a path to the assembly (like ClientBin/SilverlightProject1.dll) and while the path is in the Xaml file, it's evaluated relative to the HTML page or Web Form using the Xaml. So, if your Web Form is http://myserver/mysite/TestPage.html and your Xaml file says to look for ClientBin/SilverlightProject1.dll, the runtime will look at http://myserver/mysite/ClientBin/SilverlightProject1.dll. Make sure the Xaml file and consuming page are in the same folder, or modify the path in the Xaml file so that it's relative to where the consuming web page will really be located. We're working on a better solution to this problem so that the Xaml file doesn't need to know about the consuming page, but for now the easiest solution is to put them in the same location.
Hopefully it's one of these two issues. =)
-Scott
This posting is provided "AS IS" with no warranties, and confers no rights.