4

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

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

4

2 回答 2

0

你不能。

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

如果您尝试将错误的版本一起使用,他们可能无法找到他们期望的私有数据,并且会发生意外行为。

于 2013-04-17T16:04:38.753 回答
0

你可以试试这样的

<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>
于 2013-04-17T16:11:51.637 回答