【问题标题】:error CS0117: `System.Security.Claims.ClaimTypes' does not contain a definition for `Role'错误 CS0117:“System.Security.Claims.ClaimTypes”不包含“角色”的定义
【发布时间】:2014-08-26 20:46:44
【问题描述】:

我试图在 Travis CI 中为单声道版本 3.6.0 构建解决方案。 我在我的项目中使用 System.Security.Claims.ClaimTypes 但不幸的是 收到此错误:

'System.Security.Claims.ClaimTypes' 不包含 “角色”的定义

但正如我在单声道的the source code 中看到的,一切都很好。 我尝试使用 apt-get install 在 Elementary OS 中手动构建 mono-complete 最新 3.6.0 版本,但得到了同样的错误。

在 Travis CI,我使用的是 this package

我错过了什么吗?

【问题讨论】:

  • 您不能以 .NET 4.5 为目标,请注意 #if NET_4_5
  • 该指令仅在构建单声道时使用,我使用的是单声道二进制文件,而不是从源代码编译它(但也许应该尝试一下:))。
  • 是的,我明白了。有一段时间没有使用 Mono,不记得他们现在是如何发布二进制文件的。由于定位到 4.0,因此没有包含角色的原因之一。其他原因?嗯,不知道。
  • 一个奇怪的事情是我也在使用 ClaimTypes.Name ,并且只有 Role 导致了这个错误。
  • 你能用Reflector之类的工具打开程序集,看看里面到底有什么,缺少什么吗?

标签: c# mono claims-based-identity


【解决方案1】:

请注意,包括Role 在内的许多条目都是added recently。尽管按时间顺序在3.6.0 之前发布,但该版本是从一个单独的分支发布的,因此它不包含相关的提交。您可以查看ClaimTypes.cs 的发布版本,发现它确实不包含Role。您将不得不等待新版本或自己编译单声道。

【讨论】:

猜你喜欢
  • 2019-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
  • 2011-02-18
  • 2018-09-29
  • 2019-11-02
  • 1970-01-01
相关资源
最近更新 更多