2011-07-15 35 views
2

我的同事和我正在嘗試使用Maven構建我們的C#.NET webservice項目。經過一番研究,NPanday似乎是最好的選擇。我們已經成功地獲得了NPanday與NUnit和本地Nexus工件存儲庫的合作。如何使用NPanday生成和打包PDB文件?

但現在我們想知道是否有創建和打包.pdb文件進行調試的方法(特別是因爲我們有一些項目依賴於其他內部項目)。我們在NPanday中使用了dotnet-library包裝類型,並且似乎沒有辦法做到這一點。

根據the documentation,我們似乎需要使用custom-lifecycle-maven-plugin來創建dotnet-symbols或dotnet-archive軟件包。但我不確定如何使用它。

我的猜測是,使用custom-lifecycle-maven-plugin需要添加我們自己的編譯和打包(壓縮)目標,類似於這裏所描述的:http://docs.codehaus.org/display/MAVENUSER/Using+Maven+to+manage+.NET+projects但是這樣做似乎消除了使用NPanday的很多簡單性Maven的編譯插件。

任何人都可以幫我解決這個問題嗎?謝謝!

免責聲明:我和我的同事們對Maven非常陌生,我們正在努力理解如何最好地將它應用到我們的項目中。另外,爲了這個問題,請假定使用Maven是不可談判的。

回答

2

那麼,因爲沒有人迴應,我正在回答我自己的問題,根據我們在工作中學到的東西。我們的解決方案:完全停止使用NPanday。它不能輕鬆地進行調試構建。

除了這個特殊的問題,我們還發現了很多關於NPanday的其他問題(或者至少不太理想)。它使用C#編譯器(csc)而不是MSBuild,因此我們無法輕鬆地在我們的數據庫中使用EDMX。此外,我們必須列出包含在編譯中的每個文件。

我們已經遷移到使用Sonar的maven-dotnet-plugin(groupId:org.codehaus.sonar-plugins.dotnet)。我們在定義自己的自定義Maven執行方面也取得了一些成功。

NPanday真是讓人失望,這太糟糕了。它有一個偉大的簡歷,但最終我們不得不解僱,因爲它無法完成我們所需要的工作。也許有一天它會提高到可用的程度。

我想我們可能已經能夠使用NPanday的custom-lifecycle-maven-plugin進行調試版本,但是在那個時候,NPanday甚至會提供什麼幫助。當你創建自定義執行時,你可能會避免NPanday的痛苦。

+1

很抱歉聽到。我真的很有興趣做NPanday的工作。我作爲提交者加入(2011年10月),並且我的第一個貢獻是自定義生命週期-maven-plugin,這是因爲我還需要完成一些工作,而NPanday也是這樣做的。 –

+0

那麼,希望你和NPanday團隊能夠改進產品。一旦我們的擔憂得到解決,那麼我們很樂意重新使用NPanday。我建議至少添加一個MSBuild選項(以處理EDMX,同時刪除需要在項目級別有子項目文件)。 – Allan

+0

哦,並且支持你爲Lars貢獻項目。如果我有時間(或者如果我的僱主願意的話),我本來願意貢獻而不是抱怨。但在這一點上,我們只是一個消費者。 – Allan