【问题标题】:"Can't find the .NET assembly {AssemblyName} in specified folders"“在指定文件夹中找不到 .NET 程序集 {AssemblyName}”
【发布时间】:2016-12-09 19:01:40
【问题描述】:

我只是试图将 sln 文件加载到 Visual NDepend 并不断收到此错误:

在指定文件夹中找不到 .NET 程序集 {AssemblyName}。是否已正确编译? NDepend 项目是否缺少 .NET asembly 的包含文件夹?

最奇怪的是,不同路径下的相同程序集不会发生此错误。例如:

错误不会出现在路径C:\code\depot\Product\Stage\IA\下的程序集中,会出现在C:\code\depot\Product\IA

我在使用 Visual NDepend 时采取的步骤:

  1. 打开 NDepend
  2. 点击分析 VS 解决方案和 VS 项目
  3. 浏览
  4. 查找 sln 的特定实例。
  5. 点击打开
  6. 发生错误

我遵循相同的步骤,但在不同的路径中找到相同的解决方案,错误消失了!组件是相同的!任何帮助将不胜感激。

【问题讨论】:

    标签: c# .net visual-studio .net-assembly ndepend


    【解决方案1】:

    这肯定来自读取 .sln 文件并尝试推断程序集所在的文件夹时出现的问题。

    通常 NDepend 期望分析 .sln DEBUG 配置。这是因为当 NDepend 访问 PDB 时,它可以更深入地分析,解释here

    要解决这个问题,您可以转到 NDepend 项目属性 > 要分析的代码 > 展开目录面板 > 确保引用的目录是包含所有程序集的目录。

    然后你可以使用 NDepend Project Properties > Paths referenced 来定义如何引用目录路径(relative/absolute/envvar...)

    【讨论】:

    • 太棒了!谢谢!这样就完成了。
    • 来自 NDepend 的 在确定依赖关系时,分析 .sln 的 Debug 配置是否对 Release 有任何优势?
    • 无论分析Debug还是Release,依赖都是一样的
    • NDepend 默认选择 Debug,这是我们计划配置的行为。现在使用 NDepend.API,您只需在所有引用的目录中将 Debug 替换为 Release。请注意,使用 Release 您可能无法访问 PDB 文件并且会丢失一些信息(请参阅我的答案中的链接)
    • 感谢您的澄清!你帮了大忙。
    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 2011-12-18
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    相关资源
    最近更新 更多