2011-02-07 39 views
0

我正在嘗試創建一個簡單的WCF應用程序。我的服務接口和實現在類庫中。我寫了一個非常簡單的控制檯應用程序,充當服務器主機。如何將設計時間服務引用添加到VS 2010中的控制檯應用程序?

現在我已經創建了一個silverlight客戶端,我試圖添加一個服務引用,在控制檯應用程序中使用App.config,但配置的服務沒有顯示在Discover-> Services In Solution中。

如果我創建一個WCF類庫來包含我的服務,但不是具有app.config的普通類庫,它們會顯示出來。

我可以運行控制檯應用程序並添加服務引用,但這似乎有點笨拙。

添加設計時服務引用的規則是什麼?

編輯

一個項目的可視性到設計時發現似乎是由以下項目類型進行控制:

{3D9AD99F-2412-4246-B90B-4EAA41C64699}; {FAE04EC0-301F -11D3-BF4B-00C04F79EFBC}

(將這些添加到csproj需要它包含至少一個服務)。

另一個規則似乎是服務類型必須與引用它們的app.config在同一個程序集中。

回答

0

我相信Visual Studio會在您的解決方案中使用不同的項目類型(存儲在解決方案/項目文件或兩者中的元數據)以識別潛在的候選項。如果您創建控制檯應用程序,Visual Studio將不會將其視爲可以包含服務引用,儘管我認爲您已經想到了,但在創建項目後更改目標類型似乎沒有此效果因爲它不會使該元數據無效。

創建兩個新項目,其中一個,並使用diff工具或只是記事本比較兩個文件。看看是否複製項目之間的更改並重新加載(甚至重新啓動VS)會改變此行爲。

+0

非常感謝約翰,是的,我給了一個去,但似乎有進一步的約束:發現似乎只能在與app.config相同的程序集中定義的服務工作。 – Andy 2011-02-07 10:43:39

相關問題