我正在尝试将 IIS 站点从具有 IIS7.5 的旧 Windows Server 2008 R2 同步到具有 IIS8.5 的新 Windows Server 2012 R2。我正在使用 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 - apppool 和应用程序本身使用 4.0+
这个问题的答案是不要“更新” machineConfig64 提供程序,而是以哈希表的形式告诉 PowerShell 确切地采用哪个提供程序。将哈希表作为
-sourcesettings
参数-destinationsettings