【问题标题】:WCF, svcutil build proxy with /referenceWCF,svcutil 使用 /reference 构建代理
【发布时间】:2011-03-04 02:31:50
【问题描述】:

我有一个 ClassLib 调用 Id.API。 Id.Web 引用了这个。

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

当我尝试创建对方法 SendEcho(MyEntity myentity) 的调用时,Id.Web 项目抱怨它需要一个参数

id.web.types.MyEntity

而不是

Id.API.MyEntity

研究表明,这是使用 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.

我该如何解决这个问题?谢谢

【问题讨论】:

  • 哦 - 你看过融合日志了吗?

标签: wcf wcf-binding wcf-client


【解决方案1】:

Id.API.dll 是什么 .NET 框架版本,引用它的程序集是什么 .NET 框架?听起来 Id.API.dll 是使用比您尝试引用它的项目更新的框架构建的。

【讨论】:

  • 您的评论让我发现 svcutil 的版本可能不是最新的。使用C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\SvcUtil.exe 解决了这个问题。
  • 好交易 - 我很高兴能够提供帮助(尽管是间接的)
【解决方案2】:

我更改了 SvcUtil.exe 路径

来自 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.5.1 工具 到 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.5.1 工具

错误消失了。

【讨论】:

    猜你喜欢
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 2010-10-22
    • 2014-04-15
    相关资源
    最近更新 更多