1

我有关于 InternalsVisibleTo 的问题。

我有一个名为A的程序集,有一个内部测试类我有一个托管在iis上的 Wcf 服务 ( WcfService1 ) ,它通过静态链接引用这个程序集(在 Visual Studio 上添加引用)。

我有A - AssemblyInfo.cs文件:

[assembly: InternalsVisibleTo("WcfService1")]

我构建A.dll并将其添加到 WcfService1。显然,在WcfService1类上,我调用了A.dll的内部方法,智能感知 正确地向我发出了方法名称、变量等的信号。

它编译顺利,没有显示任何问题。

但是,当我在他的服务器上构建和运行时,服务器给了我一个编译错误:

CS0122“方法调用”由于其保护级别而无法访问

所以我很困惑:在 Visual Studio IDE 中,我正确地获得了自动完成功能并且没有构建错误。运行时不能使用内部方法?!

其他信息:我尝试使用强命名不使用(通过命令提示符计算公钥),结果相同(在 IDE 上没问题,运行时崩溃)。

4

1 回答 1

1

找到了解决方案。

我从 IIS 的方法 initialize() 调用内部方法。

该方法用于初始化,带有initialize()的类必须放在App_Code文件夹中。

我将冒犯性的电话转移到另一个班级,在我的朋友大会上,等等,问题解决了:) 希望它会对某人有所帮助!

于 2013-06-12T13:52:32.740 回答