NCrunch 和 PostSharp Logging 发生冲突

本文关键字:冲突 Logging PostSharp NCrunch | 更新日期: 2023-09-27 18:35:49

几个月来,我一直很高兴在一个项目中使用 NCrunch 和 PostSharp(参数验证)

我刚刚通过log4net将PostSharp日志记录添加到我的项目中,现在NCrunch抱怨添加的.psproj文件:

My.App.psproj (0): 找不到插件配置文件 "C:''Users''Me''AppData''Local''NCrunch''3116''6''packages''PostSharp.Patterns.Diagnostics.4.0.39''tools''PostSharp.Patterns.Diagnostics.Weaver.dll"。

我已经清理,重建,丢弃了NCrunch缓存,但都无济于事 - NCrunch仍然失败。

ReSharper 测试运行器仍然能够成功运行所有测试。

还有其他人看到这个问题吗?可以修复吗?

NCrunch 和 PostSharp Logging 发生冲突

我想出了解决这个问题的方法,您需要将所需的文件添加到 NCrunch"要包含的其他文件"配置中。

  1. 在"NCrunch 测试"窗口中,右键单击无法生成的项目,然后选择Configure selected component
  2. General部分下,选择Additional files to include项目,然后单击...按钮
  3. 单击Add File(s)...按钮
  4. 浏览到PostSharp.Patterns.Diagnostics.Weaver.dll文件所在的位置(在我的实例中,当我使用 NuGet for PostSharp 时,它位于我的解决方案目录下的packages'PostSharp.Patterns.Diagnostics.4.0.39'tools
  5. 单击"Open
  6. PostSharp.Patterns.Diagnostics.Weaver.Log4Net.dll重复步骤 3 到 5(以 packages'PostSharp.Patterns.Diagnostics.Log4Net.4.0.39'tools 为单位)
  7. 单击"OK
  8. 关闭NCrunch Configuration窗口

NCrunch 现在能够构建和运行所有测试

此错误消息由 PostSharp 生成。*.psproj 文件包含诊断编织插件的相对路径。显然,NCrunch 更改了用于解析相对路径的当前目录,因此 PostSharp 找不到引用的插件。

这是战斗性问题,您也可以向PostSharp团队报告 http://www.postsharp.net/support