2012-02-12 59 views
0

嘗試運行客戶端時收到此錯誤。類型'StringPro.IMyString'在未引用的程序集中定義

類型'StringPro.IMyString'在未引用的程序集中定義。

此錯誤從文件Program.cs的來源於,StringProClient和在代碼藍色下面第一行強調:

StringProProxy.StringProProxy proxy = new StringProProxy.StringProProxy(); 

的溶液具有4個項目內:

StringPro - 包含服務接口(IMyString.cs)和實現類(MyString.cs)的類庫

StringProHost - 控制檯具有內部的Program.cs定義UriServiceHostEndpointServiceMetadataBehaviourHttpGetEnabledhost.Description.Behaviours,應用程序調用host.Open(),並顯示在控制檯的信息時,服務啓動

StringProProxy約 - 我相信它是一個類庫項目,因爲它只有StringProProxy.cs它定義了服務的代理

StringProClient - 控制檯應用程序實例化ser副主席的代理,調用服務的功能並顯示結果。

編輯:服務主機啓動罰款。這是因爲提到的錯誤而無法構建和運行的客戶端。

回答

2

如果一個項目正在使用在其他程序集中聲明的類型,則必須引用此程序集 - 這基本上是您的錯誤告訴您的。

在你的情況,我猜StringProClient是referecing StringProProxy,但它也使用StringPro項目申報類型(確切的說:IMyString接口/班),沒有引用它。你應該確保,即StringProClient同時引用,StringProProxyStringPro

+0

如果工作,則不需要使用。現在,我試圖運行它們,並得到:'無法找到引用合同「StringPro.IMyString」在ServiceModel客戶端配置section.' – Bob 2012-02-12 16:49:12

+0

@Bob那麼默認終結點元素,這是完全不同的錯誤。前一個是一個通用的C#編譯器,現在你有一個WCF。你可以檢查其他SO.com問題。例如,這一個:http://stackoverflow.com/questions/352654/could-not-find-default-endpoint-element – 2012-02-12 16:53:11

+0

如何從一個Visual Studio實例運行主機和客戶端。因爲如果我運行的主機,因爲它禁止的項目觀衆,我不能運行客戶端。如果我嘗試運行StringPro,它將不會運行,因爲它是一個類庫。 – Bob 2012-02-12 17:03:22

0

這樣的問題大多出現在像命名空間這樣的問題上。請再次檢查您的參考以及名稱空間。

相關問題