从IIS6 .net 2.0(win2k3)迁移到IIS7.5 .net 4.0(win2k8) - >如何处理web.config程序集V = 2.0.0.0

时间:2014-05-14 08:27:32

标签: .net iis-7.5 iis-6 .net-assembly migrate

ASP.net网站:正在迁移  IIS6 .net 2.0(win2k3)到  IIS7.5 .net 4.0(win2k8) -

我们在不同的应用程序中有以下汇编条目:

            <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.DirectoryServices.Protocols, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.RegularExpressions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies>         
            <add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />

现在新的Win2k8 IIS7.5(站点设置为.net FW 4.0)机器按原样使用程序集(一切都是2.0.0.0。), 但这是正确的方法吗?

Q1。我应该改变所有

Version=2.0.0.0

Version=4.0.0.0

再次测试系统?

Q2。它是否像更改版本一样简单,那么PublicKeyToken呢? PublicKeyToken是否在版本2.0.0.0和版本4.0.0.0之间发生了变化? 如果是这样,我是否可以在线查找每一个以获得新的PublicKeyToken?

谢谢

1 个答案:

答案 0 :(得分:1)

如果应用程序工作正常,请勿触摸它。这是problem solving flowchart :)

的第一条规则

如果要更改版本,可能会遇到麻烦。您的应用程序是使用.NET 2.0编译的,并且没有对.NET 2.0类/方法和.NET 4.0类/方法之间的更改进行完整的代码分析,您无法确定它会做什么(即某些可能已被弃用或完全消失)。

据我所知,win2k8安装了.NET 2.0,因此程序集应该在那里。如果你要部署到Windows 2012,默认情况下只安装了.NET 4.x,那将是另一回事。然后它可能不起作用。

对于PublicKeyToken,它应该与.NET 2.0或.NET 4.0相同,只要Microsoft使用相同的键来强烈命名程序集并且程序集的名称不会更改(那么这将是一个不同的程序集使用不同的PublicKeyToken)。

但您仍然可以选择在IIS 7.5上创建.NET 2.0池并让应用程序在其开发的环境中运行(如果我们将iis版本排除在外)。