在iis上使用Wcf Friend Assemblies,而不是在运行时工作

时间:2013-06-11 16:27:16

标签: wcf iis naming internalsvisibleto

我有关于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上运行时崩溃) )。

1 个答案:

答案 0 :(得分:1)

找到了解决方案。

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

此方法用于执行inizialization,并且具有initialize()的类必须放在App_Code文件夹中。

我把违规的电话转移到另一个班级,在我的朋友大会上,等等,问题解决了:)希望它会帮助别人!