首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装后的System.Security.VerificationException VS 2012

安装后的System.Security.VerificationException VS 2012
EN

Stack Overflow用户
提问于 2012-08-16 16:21:20
回答 3查看 809关注 0票数 0

我在工作中使用VS2010,并安装VS2012作为前进的测试。

在此步骤之后,之前正确的所有项目都将停止工作(已编译,或仍由VS2010构建)。

十几个地方出现了例外: System.Security.VerificationException。此异常也来自.NET 3.5或.NET 4上的库。它在XAMLs InitializeComponents等中引发异常。

那是什么?为什么安装新框架会破坏所有现有的项目?

如何在不删除VS2012和.NET 4.5时解决这个问题?

谢谢你的建议。

EN

回答 3

Stack Overflow用户

发布于 2012-08-28 04:34:36

问题的根源(仅影响32位)是,如果构造函数在调用基础/此构造函数之前有任何程序流(在IL级别),则代码将不正确地无法通过验证。在WPF中有一些相对常见的类型,它们在对base/this的调用的参数中有?:操作,所以你不能简单地使用这些特定的构造函数。我只看到它在Lazy和ObservableCollection上失败了。这两种类型都有一些不包含流的构造函数,因此解决方法是更改构造函数调用以使用无参数版本。另一个场景(与FluentValidation一起出现的场景)是,当您的构造函数中有lambda时,C#编译器会插入流。替代方法是创建lambda的实际方法。

如果我的解释不是很明显,我们( CLR团队)已经意识到了这个问题,并正在积极研究解决方案。

票数 1
EN

Stack Overflow用户

发布于 2012-08-16 21:30:39

我得到了同样的异常,并将其缩小到使用FluentValidation的单元测试。事实证明,我的测试项目构建为x86,它需要为x64。

若要解决此问题,请右键单击项目并选择“属性”。在左窗格中选择"Build“并将"Platform target:”设置为"Any CPU“

票数 0
EN

Stack Overflow用户

发布于 2012-08-17 14:35:26

您是否使用了对FluentValidation.dll的引用?如果是,请看一下我昨天创建的这篇文章。这可以帮助VerificationException problem

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11983192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档