Sharepoint主页的WSPBuilder和Code背后

时间:2009-06-02 16:44:51

标签: sharepoint moss wss wspbuilder

我在visual studio中为自定义母版页创建了一个代码隐藏文件。我手动上钩了一切;安全控制和自定义策略。一切都很棒!

然后,我想使用WSPBuilder将其置于sharepoint解决方案中,以便更好地进行部署。我创建了WSP解决方案,添加了我的类文件并将输出目录更改为bin文件夹。然后我构建了解决方案并进行了部署,确保更改母版页上的页面指令以反映新的程序集名称。

现在当我去查看sharepoint网站时,我收到一条错误,指出安全异常错误说明

'异常详细信息:System.Security.SecurityException:该程序集不允许部分信任的调用者。'

这让我感到困惑,因为它作为部署到网站bin目录的visual studio类文件。 然而,当我把它放入sharepoint解决方案时,它会破坏!我尝试添加

'[assembly:System.Security.AllowPartiallyTrustedCallers]'

到AssemblyInfo.cs,但这没有帮助。

其他人是否经历过此或有任何建议?

编辑:我还应该提到后面的代码是尝试访问共享点列表。

5 个答案:

答案 0 :(得分:1)

您仍然必须包含SafeControls条目才能使其正常工作,例如:

<SafeControl Assembly="[FullAssembly Name]"
                     Namespace="[YourMasterPageNamespace]"
                     TypeName="*"
                     Safe="True" />

或在WSPBuilder配置中:

<add key="BuildSafeControls" value="True" />

答案 1 :(得分:1)

从未见过这个..但我怀疑没有多少人为SharePoint中的母版页创建了代码隐藏(微软也没有!)。

我不知道你要构建什么,但我可能会使用母版页中包含的服务器控件来实现它。

AllowPartiallyTrustedCallers一直为我的服务器控件修复它。

您的web.config文件设置为什么?试试Full。

答案 2 :(得分:0)

你打电话给第三方集会吗?

最近我遇到了一个情况,即我使用的是第三方程序集,但它的代码中没有 AllowPartiallyTrustedCallers 。当我尝试使用assebmly时,它会失败。

答案 3 :(得分:0)

您是否确定已将装配已部署到bin而不是GAC意外?如果有两个程序集,则GAC中的一个程序集优先。

答案 4 :(得分:0)

您可以尝试检查您使用的是完全限定的部件名称,包括程序集的正确公钥令牌和命名空间。