如何选择要使用哪个版本的部分系统类

本文关键字:版本 分系统 何选择 选择 | 更新日期: 2023-09-27 18:09:46

最近我了解到,虽然StringBuilder的NET 2.0版本针对ToString()进行了优化,但NET 4.0版本针对Append()进行了优化。这让我想知道——我能选择在每种情况下使用哪个版本的系统类吗?

(这个问题不是关于StringBuilder,而是关于任何系统类。StringBuilder只是一个例子。(

如何选择要使用哪个版本的部分系统类

不,不能。

通常,系统类(或任何第三方库(可以在幕后进行合作,使用私有数据进行通信(即那些标记为私有或内部的项目(。

如果你试图一起使用错误的版本,他们可能找不到他们期望的私人数据,就会发生意想不到的行为。

您可以尝试类似的

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
         <assemblyIdentity name="myAssembly"
                           publicKeyToken="32ab4ba45e0a69a1"
                           culture="en-us" />
         <!-- Assembly versions can be redirected in application, publisher policy, or machine configuration files. -->
         <bindingRedirect oldVersion="1.0.0.0"
                          newVersion="2.0.0.0"/>
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="mySecondAssembly"
                           publicKeyToken="32ab4ba45e0a69a1"
                           culture="en-us" />
          <!-- Publisher policy can be set only in the application configuration file. -->
          <publisherPolicy apply="no">
       </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>