2011-11-04 83 views
2

小背景:我正在編寫一組C#類來將SOAP連接器包裝到稱爲Jira的另一個系統中。 Jira公開的SOAP連接器有太多的功能用於我的目的,所以我試圖簡化接口。創建C#DLL,我做錯了什麼?

我的設置:在C#/ Visual Studio 2010中,我的解決方案奠定了如下:

JiraService 
    Properties/ 
     AssemblyInfo.cs 
     Settings.settings/ 
    References/ 
     ... 
     System.Web.Services 
    Web References 
     devjira.soap /* my connector to the jira soap reference i'm wrapping */ 
    Types/ /* these are data classes i'm trying to expose for the user */ 
     Comment.cs 
     Issue.cs 
     Project.cs 
     User.cs 
    app.config 
    Jira.cs /* main class I'm trying to provide to user */ 

Jira.cs是在JiraService命名空間。 Comment.cs,Issue.cs,Project.cs和User.cs都位於JiraService.Types名稱空間中。 Jira.cs基本上公開了一些方法,這些方法可以獲取或返回Types目錄中的類。在屬性下,我將Default命名空間設置爲JiraService,將Output類型設置爲Class Library。

我的問題:當我構建解決方案時,我得到了JiraService.dll。當我將此引用添加到另一個項目時,Jira,Comment,Issue,Project和User類不在所包含的.dll的JiraService或JiraService.Types命名空間中。唯一可用的命名空間是JiraService.devjira.soap,這是我試圖簡化和隱藏的庫!我究竟做錯了什麼?爲什麼我的課沒有出現在最終的圖書館?

感謝您的幫助!

+3

您是否檢查過類的訪問修飾符是「公共」? – Alleo

+0

這是我的問題。我沒有意識到他們需要明確標記爲公開。來自腳本語言和C,並沒有立即出現。 –

回答

5

需要查看代碼才能確定,但​​需要檢查一些事項; 1.您是否在所有類中正確命名了命名空間?文件夾結構並不重要,它的名稱空間屬性是重要的。 2.您的課程是否公開?

除此之外,請張貼一些示例代碼..

+0

課程不公開。去改變它並測試... –

+0

謝謝先生!這些班級沒有被明確標示爲公開。你救了我很多挫折=) –