Dot-Net

為什麼添加對面向 .NET Framework 4.0 的項目的引用會失敗?

  • April 14, 2012

我們有兩個項目都是類庫。項目 1 是一個 VS 2008 項目,面向 .NET Framework 3.5。項目 2 是一個針對 .NET Framework 4.0 的 VS 2010(候選發布版)項目。當我嘗試在項目 1 中添加對項目 2 的引用時,它失敗並顯示資訊量不足的錯誤消息。我知道如果我將 Project 2 的目標框架更改為 3.5,那麼添加引用將起作用。我的問題是,如果我不更改目標框架,而是將 Project 1 轉換為 VS 2010,那麼引用會起作用嗎?換句話說,針對不同框架版本的類庫之間是否存在一些固有的不兼容性,或者它對我來說是失敗的,因為 VS 2008 不知道 4.0 框架?

是的,這是一個問題。就像您不能從 .NET 1.0 或 1.1 項目中添加對 .NET 2.0 程序集的引用一樣。.NET 4.0 是框架 (CLR) 的新執行時版本。.NET 3.5 和 3.0 版本都使用框架 (CLR) 的 2.0執行時版本。

您始終可以將使用較新執行時建構的程序集的引用添加到具有較舊執行時的程序集,但反之則不行。

從 .NET 2.0(3.0 和 3.5):

  • 可以引用 .NET 2.0(3.0 和 3.5)程序集

  • 不能引用 .NET 4.0 程序集

從 .NET 4.0:

  • 可以引用 .NET 4.0 程序集

  • 可以引用 .NET 2.0(3.0 和 3.5)程序集

引用自:https://stackoverflow.com/questions/2557987