我想知道,如果我使用stsadm命令部署一个WSP:
stsadm -o addsolution –filename myWSP.wsp
这是否也会将所需的DLL(已包含在WSP中)安装到GAC中?还是这是另一个手动过程?
我想知道,如果我使用stsadm命令部署一个WSP:
stsadm -o addsolution –filename myWSP.wsp
这取决于解决方案的 manifest.xml
中的 DeploymentTarget 属性。如果您自己维护此文件,则使用以下语法将代码部署到 GAC:
<Assemblies>
<Assembly DeploymentTarget="GlobalAssemblyCache"
Location="MyGAC.dll" />
</Assemblies>
如果您正在使用工具创建解决方案,则取决于该工具。WSPBuilder默认部署到GAC,但可以进行其他配置。请参阅Tobias Zimmergren的此文章中的“将程序集范围设置为BIN而不是GAC(包括代码访问安全性生成)”部分,了解如何部署到bin
。如果您使用VS构建软件包,请打开“Package”并单击底部的“高级”选项卡。您可以在这里添加其他程序集并指定部署目标。我强烈建议您这样做,而不是直接更新XML…但这只是我的个人意见。
正如命令addsolution所说的那样,它只会将解决方案添加到解决方案存储中。你需要调用命令deploysolution来获取放置物品的东西。以下是你需要调用的命令:
stsadmin -o deploysolution -name [solutionname] -allowgacdeployment
STSADM.EXE -help deploysolution
有一个通过用户界面完成的备选方案。前往中央管理 -> 运营 -> 解决方案管理选择解决方案并点击部署。这将是更简单快捷的方式来完成此操作。