【问题标题】:How do I programatically create an NDepend project file?如何以编程方式创建 NDepend 项目文件?
【发布时间】:2010-08-11 18:06:49
【问题描述】:

首先,这可能是一个有用的链接:http://www.ndepend.com/NDependConsole.aspx

用过 Visual NDepend 的人都知道,使用 NDepends 需要导入项目/解决方案文件,并将相应的输出目录、命名空间和程序集添加到 NDepends 项目中。

我遇到的问题是,我有大量的这些项目和解决方案要添加。坐在那里 45 分钟点击添加 300 个解决方案似乎很荒谬。必须有一种方法可以从这些解决方案/项目文件的路径列表中创建 NDepend 项目文件。

我的第一个想法是找到与 NDepends 相同的信息(输出目录、使用的命名空间和输出可执行文件 dll 等),并以编程方式将 NDepend 项目创建为一个大字符串。但是,这似乎是不必要的工作。

如果有一种方法可以调用命令行并针对特定项目而不是输出目录,那就太好了,因为有些项目有 PostBuild 任务将程序集复制到不同的目录,有些项目将输出目录指定为向上相对路径(即....),因此假设项目的输出目录与其所在的目录相同是不安全的。

有什么想法吗?

【问题讨论】:

    标签: c# command-line ndepend


    【解决方案1】:

    Stefan,我是 NDepend 的首席开发人员。 我们最近发布了 NDepend.API,它可以完全满足您的要求。

    开始部分,您将找到有关如何使用 NDepend.API 创建临时 NDepend 项目的代码示例,该项目使用从 Visual Studio 解决方案生成的程序集进行初始化.

    您还可以深入研究 Power Tools 的源代码,了解如何创建或修改 NDepend 项目。此源代码位于:$NDependInstallPath$\NDepend.PowerTools.SourceCode\NDepend.PowerTools.sln

    【讨论】:

    • 是的,我最终采用了这种方法。作为旁注,我可以要你的签名吗?
    • 如何获取 .ndproj xml 文件的架构文件?还是简单的 .ndproj 文件包含完整架构?
    • 嗨@Patrick,这可以集成到构建系统中,以便在创建不需要的依赖项时发送自动邮件吗?你支持生成 dgml 类型的文件格式吗?来源我将有元数据,告诉我的项目/程序集来确定违规行为。
    • 是的,只要您拥有 BuildMachine 许可,它就可以集成到构建系统中。目前不支持 dgml 文件格式,这可能是未来的功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 2017-08-26
    • 1970-01-01
    • 2012-02-06
    • 2012-07-30
    • 1970-01-01
    相关资源
    最近更新 更多