SGEN failure: An attempt was made to load an assembly with an incorrect format in VS2008

Anthony picture Anthony · Nov 14, 2012 · Viewed 15.4k times · Source

I was able to find several similar questions asked and answered, but none of the answers or exact conditions applied to my situation.

  1. I have a .NET 3.5 project being built for x64.
  2. I also have an x64 mixed mode reference (also targeting .NET 3.5).
  3. In Visual Studio 2008, I created a Web Reference which causes SGEN to execute during a Release build to create the helper DLL.

If I don't reference the mixed-mode DLL, this works fine. If I do reference the mixed mode DLL, I get this error (xxx is just a placeholder):

SGEN : error : An attempt was made to load an assembly with an incorrect format: C:\code\xxx\trunk\xxx\common\xxx\build\winx64\lib\xxx.dll.

This is the command being issued:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\sgen.exe /assembly:C:\code\xxx\trunk\xxx\xxx\obj\x64\Release\xxx.dll /proxytypes /reference:..\common\xxx\build\winx64\lib\xxx.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.configuration.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Configuration.Install.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll" /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll /reference:C:\Windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.Runtime.Serialization.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.ServiceModel.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Web.Extensions.dll" /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Web.Services.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll

Any ideas?

Answer

Gustavo Mori picture Gustavo Mori · Feb 28, 2013

Have you tried changing Generate serialization assembly to Off, as suggested in this msdn post? In my case, that was the ticket.

Just go to your Project properties, and it's under Build.

Project Properties - Build