在一个同时针对net452
和netstandard1.3
框架的.net核心类库项目中,我试图将后者向后移到netstandard1.2
以扩展向后兼容性。
project使用BindingFlags
enum并在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 diff将BindingFlags
枚举添加到1.5版本的标准中。
在它通过仅支持1.3或更高版本的System.Reflection.TypeExtensions包可用之前,目标1.2不起作用。