2011-03-04 42 views
0

我有一个ClassLib调用Id.API。 Id.Web引用了这个。WCF,svcutil生成代理与/参考

在Id.API中我有一个实体MyEntity。

当我尝试创建调用方法SendEcho(myEntity所myEntity所),Id.Web项目抱怨说,它预计

id.web.types.MyEntity 

,而不是

Id.API.MyEntity 

研究一个PARAM建议给我这是使用svcutil命令行上的参考开关修复的。

这是我的命令行示例:

"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\SvcUtil.exe" 
http://id.web/Services/EchoService.svc?wsdl 
/config:C:\Projects\Id.Web\Interface\Services\EchoService.svc.config 
/reference:../bin/Id.API.dll 

我得到的错误:

Error: Cannot load reference assembly '../bin/Id.API.dll' 

Cannot load file ../bin/Id.API.dll as an Assembly. Check the FusionLogs for more Information. 

Could not load file or assembly 'file:///C:\Projects\Id.Web\Interface\bin\Id.API.dll' or one of its dependencies. 
This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. 

我怎样才能解决这个问题?谢谢

+0

哦 - 你看过融合日志吗? – RQDQ 2011-03-04 02:35:08

回答

2

什么.NET框架版本是Id.API.dll,什么.NET框架是引用它的程序集?这听起来像Id.API.dll是用一个比你试图引用它的项目更新的框架构建的。

+0

您的评论让我发现svcutil的版本可能不是最新版本。使用'C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools \ SvcUtil.exe'修复了这个问题。 – 2011-03-04 02:46:53

+0

好的交易 - 我很高兴我能够帮助(虽然间接) – RQDQ 2011-03-04 02:54:02

1

我从 Ç改变svcutil.exe的路径

:\程序文件(x86)\微软的SDK \的Windows \ v7.0A \ BIN \ NETFX 4.5.1工具 到 C:\ Program Files文件( x86)\ Microsoft SDK \ Windows \ v8.0A \ bin \ NETFX 4.5.1工具

错误消失。