几个月来,我一直很高兴在一个项目中使用 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"要包含的其他文件"配置中。
- 在"NCrunch 测试"窗口中,右键单击无法生成的项目,然后选择
Configure selected component
- 在
General
部分下,选择Additional files to include
项目,然后单击...
按钮 - 单击
Add File(s)...
按钮 - 浏览到
PostSharp.Patterns.Diagnostics.Weaver.dll
文件所在的位置(在我的实例中,当我使用 NuGet for PostSharp 时,它位于我的解决方案目录下的packagesPostSharp.Patterns.Diagnostics.4.0.39tools
- 单击"
Open
- 对
PostSharp.Patterns.Diagnostics.Weaver.Log4Net.dll
重复步骤 3 到 5(以packagesPostSharp.Patterns.Diagnostics.Log4Net.4.0.39tools
为单位) - 单击"
OK
- 关闭
NCrunch Configuration
窗口
NCrunch 现在能够构建和运行所有测试
此错误消息由 PostSharp 生成。*.psproj 文件包含诊断编织插件的相对路径。显然,NCrunch 更改了用于解析相对路径的当前目录,因此 PostSharp 找不到引用的插件。
这是战斗性问题,您也可以向PostSharp团队报告 http://www.postsharp.net/support