私は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ビットOS、IIS 7を使用して開発しています。
VS2010でsgen.exeの4つのバージョンがあります。 32ビットと64ビットの組み合わせとCLR 2とCLR 4. CLR 2を対象とするプロジェクトで.NET 4のバージョンを取得しようとしています。 –
@HansPassant:すべてのプロジェクトが設定されています4.0のフレームワークになってしまったので、CLR 2をロードしようとしているとは思えません。それを指していても、どうすれば変更できますか? – Kay
まず、問題を特定し、それを修正することを考える必要があります。 ildasm.exeを使用して前提条件を確認し、マニフェストに期待されるCLRバージョンを表示します。 –