我有一个常见的DLL,它有一些内部使用的内部方法。除了我还有其他3周项目的WebServices,单元测试和PATSInternalsVisibleTo不适用于所有组件。有些作品,有些不起作用
在公共项目的AssemblyInfo.cs中,我添加了这些行:
[assembly: InternalsVisibleTo("WebServices, PublicKey=00240...b59a0")]
[assembly: InternalsVisibleTo("UnitTests, PublicKey=00240...dcf98")]
[assembly: InternalsVisibleTo("PATs, PublicKey=00240...e65cf")]
这些内部工作方法与完善单元测试代码和PATS但WebService的。当我在WebService项目中编写代码时,我可以在IntelliSense框中看到这些内部方法,这很奇怪。没有错误警报时,我写的代码,但是当我生成项目,我得到这个错误消息
“通用”不包含“内部方法名”
在定义那一次,我认为程序集名称在某种程度上是错误的。我尽量让这真的错了肯定的:
[assembly: InternalsVisibleTo("WebSer, PublicKey=00240...b59a0")]
然后在WebService的项目,则会变成红色,立即在该行我使用常见的内部方法,而与此消息编译:
无法访问内部方法“内部方法名”这里
所以我觉得我的程序集名称是正确的,但我仍然不知道为什么我不能在我的Web服务项目中使用的内部方法。
我刚刚发现了一些线索。在我的WebService项目中,我使用了Workflow,当我删除所有工作流时,构建成功。我重新将Workflow添加到我的项目中,发生上述错误。有没有人知道使用工作流的装配友好装配有什么问题? –