Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint母版页的WSPBuilder和代码隐藏_Sharepoint_Moss_Wss_Wspbuilder - Fatal编程技术网

Sharepoint母版页的WSPBuilder和代码隐藏

Sharepoint母版页的WSPBuilder和代码隐藏,sharepoint,moss,wss,wspbuilder,Sharepoint,Moss,Wss,Wspbuilder,我在VisualStudio中为自定义母版页创建了一个代码隐藏文件。我用手把所有的东西连接起来;安全控制和自定义cas策略。一切都很好 然后,我想使用WSPBuilder将其应用到sharepoint解决方案中,以实现更好的部署。我创建了WSP解决方案,添加了类文件,并将输出目录更改为bin文件夹。然后,我构建并部署了解决方案,确保更改母版页上的页面指令以反映新的程序集名称 现在,当我去查看sharepoint网站时,我会收到一个错误,说明安全异常错误 '异常详细信息:System.Securi

我在VisualStudio中为自定义母版页创建了一个代码隐藏文件。我用手把所有的东西连接起来;安全控制和自定义cas策略。一切都很好

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

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

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

这让我很困惑,因为它是一个部署到网站bin目录的visualstudio类文件。 但是,当我将其放入sharepoint解决方案时,它会崩溃!我试着加上

“[程序集:System.Security.AllowPartiallyTrustedCallers]”

到AssemblyInfo.cs,但这没有帮助

还有其他人体验过这一点或者有什么建议吗


编辑:我还应该提到,隐藏的代码正在尝试访问sharepoint列表。

您是否仍然需要包含SafeControls条目才能使其工作,如:

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

或在WSPBuilder配置中:

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

您正在调用第三方程序集吗


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

您确定该程序集已意外部署到bin而没有部署到GAC吗?如果有两个程序集,则GAC中的一个优先。

从未见过这种情况。。但我怀疑没有多少人在SharePoint的母版页后面创建代码(微软也没有!)

我不知道您试图构建什么,但我可能会使用母版页上包含的服务器控件来实现它

AllowPartiallyTrustedCallers总是为我的服务器控件修复它


web.config文件中的信任设置为什么?尝试完整。

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

我检查了这个,但是GAG上没有dll,只有bin文件夹。WSPBuilder已经自动添加了这个;我已经检查了web.config,它确实使用了第三方assembley,但是安装到了GAC中。我的也安装到了GAC中,但是我仍然得到了错误。那么你说第三方程序集需要这个属性?关于第三方的信息,如果我创建自己的手动CAS策略(它使用相同的代码),我可以毫无问题地使用此第三方。使用WSPBuilder似乎有问题,我似乎找不到要添加的正确权限集。我认为您可以在使用WSPBuilder时使用自定义CAS策略。我记得看到了一些关于它的东西。WSPBuilder的缺点是没有太多文档,但我喜欢它。WSPBuilder创建的CAS策略似乎包含正确的IPermissions,但此CAS策略基于WSS_Minimum,它首先没有所需的安全类。我尝试将它建立在WSS_Medium上,但运气不太好。我认为您使用服务器控件可能是正确的,因为我认为它们在完全信任的情况下运行(这似乎是个问题)。