2
我正在與VS2008和VS2010同時用於不同的項目。最近,我試圖以產生用於實體項目的系列化組件和無法產生通過Visual Studio 2010中,則這個拋出了以下錯誤:試圖加載具有不正確格式的組件
An attempt was made to load an assembly with an incorrect format: X:\Dev\Proj\X.Entities\bin\Debug\X.entities.dll.
這是後生成事件我對實體設置項目
"$(FrameworkSDKDir)\Bin\sgen" /nologo /force $(TargetFileName)
copy "$(TargetDir)X.Entities.Serializer.dll" "$(SolutionDir)\X.Site\Bin"
我能夠產生來自VS 2010的命令行串行DLL。 對於VS2008項目;線路正常工作。但是,這些錯誤在VS2010項目上!
VS2010有不同的FrameworkSDKDir
變量嗎?如果不是,我該如何修改它以適用於VS2010和VS2008項目?
順便說一句,我使用win 2008 Server 32位操作系統,IIS 7進行開發。
有4個版本,在VS2010 sgen.exe的。 32位與64位和CLR 2與CLR 4的組合。我猜你正在獲得.NET 4版本,並試圖將它加載到一個目標爲CLR 2的項目中。 – 2012-04-20 12:07:25
@HansPassant:所有項目都已設置到4.0框架,因此我不認爲它試圖加載CLR 2.即使它指向,我該如何改變它? – Kay 2012-04-20 12:16:08
首先你必須確定問題,然後你可以考慮修復它。使用ildasm.exe驗證您的假設,它會在清單中顯示預期的CLR版本。 – 2012-04-20 12:20:30