2

私は、異なるプロジェクトで同時にVS2008VS2010を使用しています。最近、エンティティ プロジェクトのシリアル化アセンブリを生成しようとしましたが、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.

これは、Entities プロジェクト用にセットアップしたビルド後のイベントです。

"$(FrameworkSDKDir)\Bin\sgen" /nologo /force $(TargetFileName)
copy "$(TargetDir)X.Entities.Serializer.dll" "$(SolutionDir)\X.Site\Bin"

VS 2010 コマンド ラインからシリアライザー dll を生成できます。 VS2008 プロジェクトの場合。ラインは正常に機能しています。ただし、エラーはVS2010プロジェクトにあります!

FrameworkSDKDirVS2010 用の別の変数はありますか? そうでない場合、VS2010 と VS2008 の両方のプロジェクトで動作するように変更するにはどうすればよいですか?

ところで、開発にはwin 2008 Server 32ビットOS、IIS 7を使用しています。

4

1 に答える 1

3

あなたが指しているsgenはCLR 2.0用です。C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin に配置するのが理想的です。

「C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools」の下に、問題を解決する 4.0 バージョンの sgen があります。

ビルド後のコマンドは次のように開始する必要があります。

"$(FrameworkSDKDir)\bin\NETFX 4.0 Tools\sgen"
于 2012-04-20T12:49:10.630 に答える