2011-03-04 41 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工具

錯誤消失。