如何使用NPanday生成和打包PDB文件?

时间:2011-07-15 15:23:31

标签: .net maven maven-plugin

我的同事和我正在尝试使用Maven来构建我们的C#.NET Web服务项目。经过一番研究,NPanday似乎是最好的选择。我们成功地让NPanday与NUnit和本地Nexus工件库一起工作。

但现在我们想知道是否有办法创建和打包.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-compile-plugin。

任何人都可以帮我解决这个问题吗?谢谢!

免责声明:我的同事和我对Maven非常陌生,我们正在努力了解如何最好地将其应用到我们的项目中。另外,为了这个问题,请假设使用Maven是不可协商的。

1 个答案:

答案 0 :(得分: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的痛苦。