我正在尝试使用LightningDB.net。其中一个方法接受参数为枚举标记。
C#中的方法声明:
Open(EnvironmentOpenFlags openFlags = EnvironmentOpenFlags.None, UnixAccessMode accessMode = UnixAccessMode.Default)
当我为openFlags
提供参数时,例如:env.Open(EnvironmentOpenFlags.NoSync)
我收到编译错误:
error FS0001: This expression was expected to have type LightningDB.EnvironmentOpenFlags but here has type LightningDB.EnvironmentOpenFlags
当我为方法的第二个参数提供参数时,它可以工作:
env.Open(accessMode = UnixAccessMode.Default)
任何组合,包括尝试将枚举转换为int然后返回总是会导致编译器错误。
这是在VS 2015.任何想法可能导致这种情况以及如何解决?
答案 0 :(得分:3)
程序集在项目中一次,一次直接引用,第二次嵌入另一个程序集中,从而导致错误。