我的解决方案中有四个项目:
它们都在两个软件包中引用Common.dll
4个带有WebPart的SharePoint项目。我无法使用Common.dll,即使我已将其添加到web.config中的SafeControl部分 - WebPart只是给我消息:此类型不安全且无法导入。所以我最终只是将代码从Common.dll复制到第四个项目。 (跛脚!)
最糟糕的是,在我的本地设置中,一切正常(WebPart正在添加没有任何类型安全的消息,EventReceiver工作正常)。只有在我部署到live系统时才会出现问题。
问题: 在项目 SharePointStrucutre 中,我有SPItemEventReceiver,它执行Common.dll代码。它失败了! 例外:
System.IO.FileNotFoundException: Could not load file or assembly 'Common, Version=1.0.0.9,
Culture=neutral, PublicKeyToken=0dbfee127d760dde' or one of its dependencies. The system cannot find
the file specified.
File name: 'Common, Version=1.0.0.9, Culture=neutral, PublicKeyToken=0dbfee127d760dde'
我已经检查了GAC,这个程序集在那里,所有部署都很好。
问题:
在我的 SharePointStrucutre 中,我有代码(HttpModule),它在Common.dll上进行中继,并且可以正常工作。仅在列表事件接收器中出现问题。只有在那里我得到dll无法加载的消息。
我将不胜感激。
谢谢
答案 0 :(得分:1)
一次出现一个问题。让我们尝试修复安全控制。
通常这个错误只是因为你需要签署项目。所以......
完成后,您可以在任何sp2010项目中使用此库。
现在,转到你的sharepoint项目,一个带有webpart的项目,添加引用,不会出现任何消息。
最后,但并非最不重要的是,在解决方案窗格中选择包,使用包设计器打开它并选择advance。在这里,您必须通过选择“添加输出程序集”或类似的选项从类库中添加dll。您必须选择将文件部署到GAC的位置。
我认为所有这些步骤都会让你的问题消失......祝你好运! ;)