如何更新 machineConfig64 .Net Framework-配置提供程序

如何更新 machineConfig64 .Net Framework-配置提供程序

我正在尝试将 IIS 站点从旧的 Windows Server 2008 R2(带有 IIS7.5)同步到新的 Windows Server 2012 R2(带有 IIS8.5)。我使用 WDeploySnapin3.0 PowerShell Snapin 执行此操作

现在我收到以下错误:

Sync-WDSite : the versions of the .NET Framework-configuration provider
(machineConfig64) differ from source (2.0) and destination (4.0). More 
information on: http://go.microsoft.com/fwlink
/?LinkId=221672#ERROR_FRAMEWORK_VERSIONS_DO_NOT_MATCH.

此处可以找到针对此错误的两个解决方案:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FRAMEWORK_VERSIONS_DO_NOT_MATCH

第一个解决方案不符合我的需要,因为我不使用该msdeploy.exe工具。

第二个解决方案告诉我编辑源机器上的配置文件,我照做了。我将msdepsvc.exe.config以下内容进行了更改:

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

更改为:

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

还有msdeploy.exe.config来自这个:

<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

更改为:

<configuration>
  <startup>
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

然后我重新启动了wmsvc服务net stop wmsvc ; net start wmsvc,但是没有效果,错误仍然出现

现在我只想更新源服务器的版本。我该怎么做?源服务器上安装了 .NET Framework 4.6,我是否只需要在某处编辑配置?或者我需要更新管理框架?

谢谢!

编辑:我也尝试过在配置文件中使用 v2.0 条目(按照微软的建议),但也没有用。我也不明白为什么它说源服务器使用 .NET 2.0 - 应用程序池和应用程序本身使用 4.0+

答案1

这个问题的答案不是“更新”machineConfig64 提供程序,而是以哈希表的形式告诉 PowerShell 确切采用哪个提供程序。将哈希表-sourcesettings作为-destinationsettings参数

[hashtable]$settings = @{
    'machineconfig32.netfxversion' = 2
    'machineconfig64.netfxversion' = 2
    'rootwebconfig32.netfxversion' = 2
    'rootwebconfig64.netfxversion' = 2
}

[...] # some more code

$sync = Sync-WDSite $Name $Name -sitephysicalpath $spp `
                                -SourcePublishSettings $publishsettings `
                                -IncludeApppool `
                                -WarningAction Continue `
                                -ErrorAction Stop `
                                -sourcesettings $settings `
                                -destinationsettings $settings `
                                -debug

相关内容