加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – 派生类型必须与基类型的安全可访问性匹配,或者

发布时间:2020-12-16 07:01:01 所属栏目:asp.Net 来源:网络整理
导读:几天前我在这些 instructions之后将我的MVC 4应用程序升级到了MVC 5,现在我收到了以下错误.我使用Nuget(v4.3.3.13295)将DotNetOpenAuth更新为最新位,但它仍然会抛出此错误. 我该如何解决? Inheritance security rules violated by type: ‘DotNetOpenAuth.M
几天前我在这些 instructions之后将我的MVC 4应用程序升级到了MVC 5,现在我收到了以下错误.我使用Nuget(v4.3.3.13295)将DotNetOpenAuth更新为最新位,但它仍然会抛出此错误.

我该如何解决?

Inheritance security rules violated by type:
‘DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult’. Derived
types must either match the security accessibility of the base type or
be less accessible.

解决方法

终于解决了这个问题.原来我需要对DotNetOpenAuth的源代码进行一些更改并重新编译它.这根本不容易,因为从github下载后源代码将无法编译.我不得不花费大约3天的时间尝试各种各样的东西,并学习构建系统到DotNetOpenAuth的项目文件中,直到我最终编译完成.似乎这个项目的作者已经放弃了它.查看有关此问题的更多信息 here.

>使用以下命令行下载4.3代码库:git clone -b v4.3 https://github.com/DotNetOpenAuth/DotNetOpenAuth.git
>编辑/src/version.txt并将其更改为4.4.0.这使得此版本高于官方Nuget版本,因此安装Nuget软件包不会尝试从其存储库安装旧版本的DotNetOpenAuth程序集.
>从/ src /目录下的所有AssemblyInfo.cs文件中删除以下字符串的所有实例.

[assembly:AllowPartiallyTrustedCallers]
>我不得不在两个项目中使用Microsoft.Contracts引用,并将其指向/tools/Contracts/PublicAssemblies/v3.5/Microsoft.Contracts.dll,然后使用using别名从此程序集中获取类以正确解析.一些Requires.NotNull()行拒绝编译,所以我只是将它们评论出来… c’est la vie ..
>运行以下命令以跳过这些程序集的验证:sn.exe -Vr *,2780ccd10d57b246

构建程序集后,我引用了这些程序,从Nuget重新添加了Microsoft.AspNet.WebPages.OAuth 3.0,重建了我的解决方案,最后我的应用程序启动并在MVC 5上运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读