MOSS2007 解决方案部署(关于“包含web应用程序范围的资源”与“不包含web应用程序范围的资源”)
来源:互联网 发布:aes加密c语言程序 编辑:程序博客网 时间:2024/06/05 20:54
今天在群里,有人提了这样一个问题,他在MOSS2007部署解决方案(Solution)的时候,提示:"此解决方案不包含web应用程序范围的资源,无法将其部署到特定的web应用程序",最后解决了该问题,同时也得出了一些结论,分析如下:
1、解决方案不包含web应用程序范围的资源
在写解决方案的定义文件(manifest.xml)的时候,当引用了dll文件的时候,有这样的选项(DeploymentTarget):
<Assemblies><Assembly Location="Test.dll" DeploymentTarget="GlobalAssemblyCache" /></Assemblies>
这个时候,如果选择的是:DeploymentTarget="GlobalAssemblyCache"(将dll部署到GAC中),并且<Assembly>没有子节点<SafeControls>时。则解决方案是不包含任何web应用程序范围的资源的,如果这个时候通过addsolution命令把解决方案加入后,在解决方案管理中可以看到(如下图):
在这样的情况下如果通过命令行DeploySolution命令部署解决方案的时候,如果指定了某个web应用程序的-url参数,则会出现"此解决方案不包含web应用程序范围的资源,无法将其部署到特定的web应用程序"的错误提示,这个时候是没有办法把解决方案部署到特定的Web应用程序中的,我们可以通过解决方案管理中心进行全局部署,如果需要使用命令行,则正确的部署命令应该是
Stsadm –o Deploysolution -name<solutionname> -local(or -immediate) -allowgacdeployment (必须)
则该解决方案部署位置为“全局部署”,无法部署到特定的web应用程序(如下图)
2、解决方案包含Web应用程序资源
对于解决方案包含Web应用程序资源的情况,目前发现两种方式(不知道还有没有其他方式,继续调查)将包含Web应用程序资源:
A、将解决方案定义文件中的<Assemblies><Assembly Location="Test.dll" DeploymentTarget="WebApplication" /></Assemblies>节点中属性DeploymentTarget设置为"WebApplication"(即将dll部署到应用程序虚拟目录的bin目录下)
B、添加<Assembly Location="Test.dll" DeploymentTarget="WebApplication" />的子节点<SafeControls><SafeControl Assembly="<name>, Version=<version>, Culture=neutral, PublicKeyToken=<token>" Namespace="<namespace>" Safe="True" TypeName="*"/></SafeControls>
对于以上两种方式,当通过addsolution添加解决方案包后,通过管理中心解决方案管理中可以看到(如下图):
在这样的情况下,如果通过命令行DeploySolution部署解决方案的时候,并且不指定web应用程序的-url参数,则会出现"此解决方案包含 Web 应用程序范围的资源,必须将其部署到一个或多个Web应用程序。"的提示,对于该提示,我们可以不用理会,直接通过解决方案管理手工将其部署到特定的Web应用程序。如果需要通过命令行deploysolution命令进行部署,则需要指定-url参数。
A配置方法:Stsadm –o Deploysolution -name<solutionname> -local(or -immediate) –allowgacdeployment(可选) -url <WebApplicationUrl>
B配置方法: Stsadm –o Deploysolution -name<solutionname> -local(or -immediate) –allowgacdeployment(必须) -url <WebApplicationUrl>
则该解决部署位置为特定的Web应用程序,如下图所示:
总结:
对于不包含Web应用程序范围的资源的解决方案,无法部署到特定的Web应用程序,只能做全局部署。
对于包含Web应用程序范围的资源的解决方案,能够部署到特定的Web应用程序。
在进行解决方案部署的时候,如果使用命令行进行部署,需要根据是否包含web应用程序资源范围的资源选择是否使用-url参数。
另外,如果将dll部署到GAC中,即选择DeploymentTarget="GlobalAssemblyCache"的部署方式,则部署命令行必须包含–allowgacdeployment参数。
- MOSS2007 解决方案部署(关于“包含web应用程序范围的资源”与“不包含web应用程序范围的资源”)
- 关于web应用程序的范围与session变量丢失问题的深入研究!
- web应用程序的部署
- VS2005的安装与部署(WEB应用程序)
- Web应用程序的部署与安装(1)
- VS2005的安装与部署(WEB应用程序
- 关于SQl中 between and 的包含范围
- 理解Android Web Apps的运行机制,实现简单的包含Web View的应用程序
- 使用WSDL组合多个Web服务以增加应用程序的使用范围
- 使用WSDL组合多个Web服务以增加应用程序的使用范围
- 写博客包含的内容范围
- 关于水晶报表10的web应用程序部署ADODB问题
- 关于VS中Web应用程序与Web网站的区别
- Web应用程序与桌面应用程序的区别
- Web应用程序与桌面应用程序的区别
- 包含cxf的应用程序部署在websphere8.5上
- WEB应用程序开发与部署
- .NET平台下WEB应用程序的部署
- javascript字符串特殊点
- 转载之人物传记
- Linux下的Memcache安装
- 如何成为优秀开发人员[5]:正确地做事(概述)
- 如何成为优秀开发人员[6]:正确地做事(善用工具)
- MOSS2007 解决方案部署(关于“包含web应用程序范围的资源”与“不包含web应用程序范围的资源”)
- SQL Server 2005 配置发送邮件
- 如何成为优秀开发人员[7]:正确地做事(善用自动化)
- 不能不求上进
- 测试文章
- WPF和Silverlight依懒属性文章杂乱整理
- JavaScript核心对象参考手册-------window对象
- VBScript Replace 函数
- document.write("关闭")