使用GacInstall Web Deploy提供程序进行安装.Net 4.5组件



我正在尝试使用GacInstall提供程序进行部署。Net 4.5程序集通过Windows管理服务发送到目标计算机。这是我们持续部署的一部分。不幸的是,它似乎不起作用。

根据上的描述,我怀疑该操作不受支持http://technet.microsoft.com/en-us/library/gg607836(v=ws.10).aspx

在Windows Server®2008 R2、Windows®7和早期操作系统中,默认情况下,使用Web管理服务(WMSVC)的GAC部署不适用。NET Framework 4程序集。

当我尝试在目标计算机上本地部署包含GAC程序集的Web deploy包时,它工作正常。无论如何,本地部署不是我们持续部署所需要的。

有人成功部署了吗。Net4.5组件通过WMSvc发送到GAC?

以下是相关的部署日志:

本地部署

SetParameters from:
"C:CloudConnectRewriter.SetParameters.xml"
You can change IIS Application Name, Physical path, connectionString
or other deploy parameters in the above file.
-------------------------------------------------------
Start executing msdeploy.exe
-------------------------------------------------------
"C:Program FilesIISMicrosoft Web Deploy V3msdeploy.exe" -source:package='C:
CloudConnectRewriter.zip' -dest:auto,includeAcls="False" -verb:sync -disableLi
nk:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtens
ion -setParamFile:"C:CloudConnectRewriter.SetParameters.xml"
Info: Adding sitemanifest (sitemanifest).
Info: Adding gacAssembly (D:devcloudconWebpackagesAutoMapper.3.1.0libnet4
0AutoMapper.dll).
Info: Adding gacAssembly (D:devcloudconWebCommonDtobinReleaseCloudConnec
t.Dto.dll).
Info: Adding gacAssembly (D:devcloudconWebCloudConnect.PortalProvisioningM
odelsbinReleaseCloudConnect.Portal.Provisioning.Models.dll).
Info: Adding gacAssembly (D:devcloudconWebCloudConnect.PortalProvisioningR
epositoriesbinReleaseCloudConnect.Portal.Provisioning.Repositories.dll).
Info: Adding gacAssembly (D:devcloudconWebRewriterRewriteProviderbinRelea
seCloudConnect.RewriteProvider.dll).
Info: Adding gacAssembly (D:devcloudconWebpackagesEntityFramework.5.0.0lib
net45EntityFramework.dll).
Info: Adding gacAssembly (D:devcloudconWebpackageslog4net.2.0.3libnet40-f
ulllog4net.dll).
Info: Updating file (RewriterbinAutoMapper.dll).
Info: Updating file (RewriterbinCloudConnect.Dto.dll).
Info: Updating file (RewriterbinCloudConnect.Portal.Provisioning.Models.dll).
Info: Updating file (RewriterbinCloudConnect.Portal.Provisioning.Repositories.
dll).
Info: Updating file (RewriterbinCloudConnect.RewriteProvider.dll).
Info: Updating file (RewriterbinEntityFramework.dll).
Info: Updating file (Rewriterbinlog4net.dll).
Info: Updating file (RewriterbinRewriter.dll).
Info: Updating file (RewriterRewriter.wpp.targets).
Info: Updating file (RewriterWeb.config).
Info: Adding ACL's for path (Rewriter)
Info: Adding ACL's for path (Rewriter)
Total changes: 20 (8 added, 0 deleted, 12 updated, 0 parameters changed, 1695348
bytes copied)

WMSvc部署

[MSDeployPublish] VSMSDeploy (7s)
[02:22:48][VSMSDeploy] Starting Web deployment task from source: package(C:BuildAgentwork4a097252cfabe817RewriterRewriterobjReleasePackageRewriter.zip) to Destination: auto().
[02:22:50][VSMSDeploy] Adding sitemanifest (sitemanifest).
[02:22:50][VSMSDeploy] Adding ACL's for path (Rewriter)
[02:22:50][VSMSDeploy] Adding ACL's for path (Rewriter)
[02:22:55][VSMSDeploy] Adding sitemanifest (sitemanifest).
[02:22:55][VSMSDeploy] Adding gacAssembly (C:BuildAgentwork4a097252cfabe817packagesAutoMapper.3.1.0libnet40AutoMapper.dll).
[02:22:55][VSMSDeploy] Adding gacAssembly (C:BuildAgentwork4a097252cfabe817CommonDtobinReleaseCloudConnect.Dto.dll).
[02:22:55][VSMSDeploy] Adding gacAssembly (C:BuildAgentwork4a097252cfabe817CloudConnect.PortalProvisioningModelsbinReleaseCloudConnect.Portal.Provisioning.Models.dll).
[02:22:55][VSMSDeploy] Adding gacAssembly (C:BuildAgentwork4a097252cfabe817CloudConnect.PortalProvisioningRepositoriesbinReleaseCloudConnect.Portal.Provisioning.Repositories.dll).
[02:22:55][VSMSDeploy] Adding gacAssembly (C:BuildAgentwork4a097252cfabe817RewriterRewriteProviderbinReleaseCloudConnect.RewriteProvider.dll).
[02:22:55][VSMSDeploy] Adding gacAssembly (C:BuildAgentwork4a097252cfabe817packagesEntityFramework.5.0.0libnet45EntityFramework.dll).
[02:22:55][VSMSDeploy] Adding gacAssembly (C:BuildAgentwork4a097252cfabe817packageslog4net.2.0.3libnet40-fulllog4net.dll).
[02:22:55][VSMSDeploy] Updating file (RewriterbinCloudConnect.Dto.dll).
[02:22:55][VSMSDeploy] Updating file (RewriterbinCloudConnect.Portal.Provisioning.Models.dll).
[02:22:55][VSMSDeploy] Updating file (RewriterbinCloudConnect.Portal.Provisioning.Repositories.dll).
[02:22:55][VSMSDeploy] Updating file (RewriterbinCloudConnect.RewriteProvider.dll).
[02:22:55][VSMSDeploy] Updating file (RewriterbinRewriter.dll).
[02:22:55][VSMSDeploy] Updating file (RewriterWeb.config).
[02:22:55][VSMSDeploy] Adding ACL's for path (Rewriter)
[02:22:55][VSMSDeploy] Adding ACL's for path (Rewriter)
[02:22:55][VSMSDeploy] Successfully executed Web deployment task.
[02:22:55][VSMSDeploy] Publish Succeeded.

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe">

是的,行得通。你也可以在你的网络服务器上安装这个工具,从这里下载。这是推荐的方法。

有点担心潜在的问题,问题是WMSvc没有时间机器来猜测会发生什么。NET 4.0。这是一个相当大的变化。NET版本是GAC存储在不同的目录中。它曾经出现在以前的c:\windows\assembly中。NET版本,它在中被移到c:\windows\microsoft.NET\程序集。NET 4.0

当您需要在GAC中注册程序集时,这一点非常重要。当然,无论使用什么工具进行注册,都需要选择正确的GAC目录。在您的台式机上,这是通过拥有两个不同版本的gacutil.exe.来完成的

不幸的是,MSDeploy对此也很不确定,正如您链接的文章中所指出的,MSDeploy.exe.config文件的内容很重要。版本3包含以下内容:

<configuration>
<startup  useLegacyV2RuntimeActivationPolicy="true" >
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>

换句话说,它适合。NET 4.0和4.5 web项目,但对于针对早期版本的项目,不是。如果这很重要,那么要么保留多个版本,要么编辑文件(记事本很好)并交换两个<supportedRuntime>元素,这样v2.0是第一个。锁定在中。NET目标版本当然是最好的。

最新更新