所有非公共实体的 CLI 编译形式为
internal
.
在我的主要项目中,我有一个定义为的函数
namespace MyNamespace.Foo
module Bar =
module Baz =
let private myFun ...
在主项目的“AssemblyInfo.fs”中,我有
[<assembly: InternalsVisibleTo("MyNamespace.Tests")>]
(我已经仔细检查了这个名字。)
但是,在测试程序集(也是 F#)中,如果myFun
我从.The value 'myFun' is not accessible from this code location.
private
myFun
奇怪的是,myFun
即使没有InternalsVisibleTo
.
当实体编译到并且我在主程序集中指定时,为什么myFun
无法从测试程序集中访问私有?private
internal
InternalsVisibleTo