在一个同时针对net452netstandard1.3框架的.net核心类库项目中,我试图将后者向后移到netstandard1.2以扩展向后兼容性。
project使用BindingFlagsenum并在net452和netstandard1.3上构建良好,但在netstandard1.2上失败,并出现了许多错误,所有这些错误都类似于:
CS0103在当前上下文中不存在名为“BIDENG FLAGS”的名称
或类似:
cs7069对“bindingFlags”类型的引用声明它是在“system.reflection”中定义的,但找不到它
目前,project.json中的frameworks属性是:

"frameworks": {
  "netstandard1.2": {
    "imports": [
      "dnxcore50",
    ],
    "dependencies": {
      "NETStandard.Library": "1.6.0",
      "runtime.any.System.Collections": "4.0.11",
      "System.Collections": "4.0.11",
      "System.Collections.NonGeneric": "4.0.1",
      "System.Console": "4.0.0",
      "System.IO.FileSystem": "4.0.1",
      "System.Reflection.TypeExtensions": "4.1.0",
      "System.Runtime.Serialization.Xml": "4.1.1",
      "System.Text.Encodings.Web": "4.0.0"
    }
  },
  "net452": {
    "frameworkAssemblies": {
      "System.IO": "",
      "System.Runtime.Serialization.Xml": "",
      "System.Xml": "",
      "System.Web": ""
    }
  }
},

它已经列出了System.Reflection.TypeExtensions的依赖项。
show potential fixes弹出窗口建议安装"System.Reflection": "4.3.0-preview1-24530-04",但发现该类型仍显示为红色曲线。第二次弹出的另一个show potential fixes建议安装"System.Reflection.TypeExtensions": "4.3.0-preview1-24530-04"。当然,在不影响错误的情况下,这仍然存在。
构建net452侧运行良好,错误仅出现在netstandard1.2构建上。
这个BindingFlags类型有什么问题?

最佳答案

根据netstandard 1.5 diffBindingFlags枚举添加到1.5版本的标准中。
在它通过仅支持1.3或更高版本的System.Reflection.TypeExtensions包可用之前,目标1.2不起作用。

10-06 13:15