我正在与 VS2008 和 VS2010 同时处理不同的项目。最近我尝试为Entities Project生成序列化程序集,但无法通过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命令行生成Serializer dll。 对于VS2008项目;线路工作正常。但是,错误发生在VS2010项目上!
VS2010有不同的FrameworkSDKDir
变量吗?如果没有,我如何修改它以使用VS2010和VS2008项目?
答案 0 :(得分:3)
“C:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools”下有一个4.0版本的sgen,它解决了这个问题。
你的post build命令应该像这样开始:
"$(FrameworkSDKDir)\bin\NETFX 4.0 Tools\sgen"