我有关于InternalsVisibleTo的问题。
我有一个名为 A 的程序集,内部测试类 我在 iis 上托管了Wcf服务( WcfService1 ),该服务通过静态链接引用此程序集(在visual studio上添加引用)。
我的 A - AssemblyInfo.cs 文件包含:
[assembly: InternalsVisibleTo("WcfService1")]
我构建并将 A.dll 添加到WcfService1。 显然,在 WcfService1 类中,我调用 A.dll 的内部方法,而 intellisense 正确地告诉我方法的名称,变量等。
编译顺利,没有问题。
然而,当我构建并运行他的时,服务器给我一个编译错误:
CS0122'名为'的方法由于其保护级别而无法访问
所以我很困惑:在Visual Studio IDE中,我得到了正确的自动完成功能,没有构建错误。运行时,它不能使用内部方法?!
其他信息:我尝试使用强命名和没有(通过命令提示符计算公钥),结果相同(在IDE上运行时崩溃) )。
答案 0 :(得分:1)
找到了解决方案。
我从IIS的方法initialize()调用内部方法。
此方法用于执行inizialization,并且具有initialize()的类必须放在App_Code文件夹中。
我把违规的电话转移到另一个班级,在我的朋友大会上,等等,问题解决了:)希望它会帮助别人!