部署SharePoint解决方案包时遇到的问题
最近我在使用STSADM.EXE命令部署解决方案包的时候,遇到一个问题,非常的难搞。
创建WSP文件很简单,添加到解决方案库也很简单。我用的命令一直是这样的:
<span style="font-size:14px;">stsadm -o addsolution -filename SolutionName.wsp</span>
但是,当我尝试着使用以下命令部署解决方案:
<span style="font-size:14px;">stsadm -o deploysolution -name SolutionName -url http://smallville-pc/ -local</span>
遇到问题:此解决方案不包含web应用程序范围的资源,无法将其部署到特定的web应用程序
我花了好久才搞懂,为什么这个命令不正常工作(因为之前我成功过好多回了)。最后发现我必须省略URL参数才可以:
<span style="font-size:14px;">stsadm -o deploysolution -name SolutionName -local</span>
原因是这个解决方案,不像其他的,没有生成程序集。
然后我尝试着部署其他解决方案时省略URL参数。但是有一部分又遇到问题:此解决方案包含 Web 应用程序范围的资源,必须将其部署到一个或多个Web应用程序。
此时我不得不指定URL参数,才能正常运行STSADM.EXE命令,因为manifest.xml文件指定了<SafeControl>元素。部署的时候,SharePoint需要知道将<SafeControl>元素合并到哪个Web.config文件中。因此必须指定URL参数。
最后我的总结是这样的:如果你的解决方案指定了元素(资源)需要合并到Web.config文件(即为一个Web应用程序),然后你必须指定URL参数;如果不包含程序集,然后你不能指定URL参数。
在网络上我也找到了相应的文章,大家可以参考一下:MOSS2007 解决方案部署(关于“包含web应用程序范围的资源”与“不包含web应用程序范围的资源”)