SharePoint开发笔记-SharePoint2010添加ASP.NET应用程序
大家可能在sharepoint开发webpart会引入一些asp.net的控件,这时候就会需要添加dll引用..下图所示CRSWebControls便是我添加的.
部署这个项目到sharepoint后.却出现了错误,如下图所示...其实解决这个问题的方式不难...下面就进入主题
首先,先把需要用到的DLL文件拷贝到sharepoint网站下的_app_bin或者bin目录
当然如果你的dll有强签名,那可以拖到C:\Windows\assembly这里面来,类似于注册(不建议这样做),这时候打开网站再看看是否出现错误,一般来说就不会出现错误了...当然也有例外..如果还报错就执行下面的步骤
第一步,打开sharepoint网站web.config文件的<SafeControls></SafeControls>节点中添加以下(目的是把应用程序注册为安全类型)
<SafeControl Assembly="CRSWebControls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="CRSWebControls" TypeName="*" Safe="True" />
说明:其中CRSWebControls为应用程序的命名空间
第二步:删除页面的AutoEventWireup="true"属性(不自动绑定页面处理事件)
第三步:在Web.config 文件的<SharePoint>节点中的 <PageParserPaths> </PageParserPaths>
节点下增加一个虚拟路径
<PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" />
声明此站点下所有文件允许服务器端事件,当然你也可以制定虚拟目录是那个文件夹,但是这个值 必须以 ~/ 或 / 开头,并且必须以文件名或 * 结尾。
(目的为允许服务器端事件的运行)
第四步:把web.config文件的enableSessionState属性设为true(如果此应用程序要使用到Session的话)
<pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false"
pageParserFilterType="Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" asyncTimeout="7">
第五步:在网站web.config文件的<SafeControls></SafeControls>节点中添加以下(目的是允许应用程序使用用户控件)
<SafeControl Src="~/document/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" />
说明:其中document是用户控件所在的文档库