我们在不同的应用程序中有以下汇编条目:
<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?
谢谢
答案 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版本排除在外)。