- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
每当我在附加调试器的情况下运行以下任一单元测试时,我都会在 FluentValidation 中得到一个 VerificationException
此时的代码(如有必要,稍后将发布整个堆栈跟踪):
at FluentValidation.Resources.LocalizedStringSource.CreateFromExpression(Expression`1 expression, IResourceAccessorBuilder resourceProviderSelectionStrategy)
in ...\FluentValidation\Resources\LocalizedStringSource.cs:line 66
测试是:
using FluentValidation;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var c = new MyClass();
var v = new MyValidator();
v.Validate(c);
}
[TestMethod]
public void TestMethod2()
{
Exception ex = null;
var done = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem(
o =>
{
try
{
TestMethod1();
}
catch (Exception e)
{
ex = e;
}
finally
{
done.Set();
}
});
done.WaitOne();
Assert.IsNull(ex);
}
}
public class MyValidator : AbstractValidator<MyClass>
{
public MyValidator()
{
RuleFor(c => c.MyProperty).GreaterThan(0);
}
}
public class MyClass
{
public int MyProperty { get; set; }
}
我在针对 4.0.30319 运行时的单一解决方案、单一项目场景中仅引用了这些程序集:
其他几点:
SecurityRulesAttribute
有谁知道如何防止此 VerificationException
、解决它和/或为什么会导致它?似乎程序集很少,不应该有任何冲突的加载。我还移开了 FluentValidation 附属程序集,但仍然出现异常。
最佳答案
好的,我知道了。首先我要感谢 Jeremy Skinner对于 working with me重现问题。他的帮助促使我尝试进一步调整我的环境。
为防止出现此问题,您要么必须禁用 IntelliTrace在 Visual Studio 2010 Ultimate 中,或者您必须添加 FluentValidation添加到 IntelliTrace 应从收集数据中排除的模块列表。我的网络搜索似乎表明这是一个 IntelliTrace 错误。 Jim Nakashima在他的 blog post说:
The issue is that IntelliTrace itself has a bug where methods that have a boolean out parameter in an assembly that is marked as SecurityTransparent will fail when IntelliTrace collection is set to “high” which is the default in the Cloud IntelliTrace scenario.
You will see this in your own code if you have a method whose signature includes a boolean out parameter and you have set your assembly security to SecurityTransparent.
我查看了我的堆栈跟踪并简要地浏览了 FluentValidation 源代码,但没有看到这一点。我怀疑这可能是与 LINQ 表达式相关的类似 IntelliTrace 检测错误。
无论如何,这是解决问题的方法:
关于c# - 使用附加调试器运行测试时如何防止 VerificationException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6845439/
我有一个可用于开发但不适用于服务器的 vbscript。 我想调试这个,但我不想在服务器上安装visual studio。 使用调试器进行调试的最轻量级方法是什么? 最佳答案 如果您指的是“经典”VB
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 7年前关闭。 Improve t
我的公司有一个使用嵌入在其运行时中的 Lua 的程序,正在加载 .lua磁盘中的文件并重复执行其中定义的功能。 有没有办法附加到正在运行的进程并在我的 .lua 中设置断点?文件? (我会接受 gdb
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
在使用 perl 调试器时,有没有办法跳出当前循环? 例如: line 1 for($i=1;$iperl -d Loading DB routines from perl5db.pl version
我有一个递归下降树对象。我希望能够设置断点并在 Xcode 调试器中检查它。检查顶层工作得很好。但是在我下降一个级别后,调试器说 ivars 的值超出了范围。有什么办法可以防止这种情况发生吗? 编辑:
我正在用 javascript for windows(以及在 wsf 中使用 javascript 和 vbscript)编写桌面脚本,而不是用于 internet 并且不使用任何资源管理器。我需要
我在测试模块的新添加时遇到了问题。 (特别是 - ~ 运算符似乎仅在 Math::Complex 中不适用于此新功能。)它看起来太奇怪了,但理想的方案是在 . t 程序。 好吧,我很快就放弃了那个的想
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 9 年前。 Improv
谁能告诉我可用于 C++ 语言的调试器有哪些。另请提供有关这些调试器的详细信息或引用以获取相同的详细信息。 最佳答案 Wikipedia有一个完整的调试器列表。比任何个人都大得多,会从他们的头顶发出嘎
要在 Python 脚本中添加临时调试器断点,我可以插入以下行 import pdb; pdb.set_trace() Pdb 从标准输入中读取,因此如果脚本本身也从标准输入中读取,这将不起作用。作为
我想设置一些调试命令(如 import ipdb; ipdb.set_trace()),以便在 jupyter 中运行调试器(我必须运行 HTTP 服务器)。有人知道这样的事情吗? 上下文:我有一个长
我发现可以使用以下代码从代码中调用 pdb 调试器: import pdb; pdb.set_trace() 是否有 Pycharm 调试器的等效项?因为我更愿意只学习一个调试器。我想运行,而不
那里有免费的 LINQ 调试器吗?我在 LINQ 方面很糟糕,我要改进的唯一方法就是拥有一些简单的调试器,我可以在其中调试我用它犯的愚蠢错误。 有什么建议吗?一个简单的谷歌查询网络 bupkis 免费
我开始使用 realgud在 GNU Emacs 24.3.1 中作为 GUD 的替代品。 (主要是因为当我用 vanilla pdb 设置断点时,它不尊重它。) 我正在使用 pdb bin/star
考虑这个小的 perl 程序,test.pl : #!/usr/bin/env perl use warnings; use strict; use Number::Format qw(:subs);
有没有办法用其他应用程序(例如 Eclipse)控制富士通 Softune 调试器?我考虑发送 Softune 文档中提到的命令并解析输出,但也欢迎其他方法。 最佳答案 eclipse有插件;文件名为
我正在开发一个需要网络登录的 iPhone 应用程序。像往常一样我打电话 [[UIApplication sharedApplication] openURL:loginURL]; 这将关闭应用程序并
我目前正在研究调试器。我读到调试器有软件断点(apparently 这些是最常用的断点)。这些通过将操作码的第一个字节替换为 Int 3(操作码 0xcc)来工作。 我已经读过程序的文本(/code)
我正在尝试尽可能多地摆脱 Delphi IDE 附带的编辑器。现在我正在寻找一种将 Delphi 的调试器插入不同编辑器的方法。 是否有隐藏的 API、命令行界面或类似的东西使其他应用程序能够设置调试
我是一名优秀的程序员,十分优秀!