我是否必须为每个.net版本构建一个单独的类库版本?

时间:2011-09-13 22:03:07

标签: .net version compatibility

我很确定答案是肯定的,但我还没有找到一个直接问这个问题的问题。

我的产品是一组.NET类库。使用它们的应用程序及其配置文件完全不受我的控制。我(错误地,我相信)认为如果库是针对.NET 2.0构建的,它们可以用于更高版本。在最近的用户问题之后,我更详细地研究了这种情况,如果我理解正确,兼容性只是编译时而不是运行时(除非在app config中指定)。

那么我是否必须针对用户想要定位的每个框架版本构建它,或者是否有办法生成与版本无关的类库?

3 个答案:

答案 0 :(得分:2)

除非您的类库是混合模式,否则应该能够使用.NET 4应用程序中的.NET 2.0类库而不会出现任何问题。 (我假设你已经构建了“任何CPU”组件。)我已经在很多场合完成了这个。

应该没问题,但是如果你有一个特定的错误,我建议你整理一个简短但完整的程序来证明这个问题,并在你的问题中加入。

答案 1 :(得分:0)

如果您打算将应用程序定位为使用与用于构建应用程序的运行时(.Net Framework)不同的运行时(.Net Framework),则需要重建。

答案 2 :(得分:0)

我相信您可以在app.config文件中指定目标框架,如下所示:

<configuration>
   <startup>
      <supportedRuntime version="v2.0.50727"/>
   </startup>
</configuration>