簡體   English   中英

為什么.net 4.0項目不能引用4.5程序集?

[英]Why cant a .net 4.0 project reference a 4.5 assembly?

我正在開發一個針對.NET 4.0的項目,現在我需要引用一個針對.NET 4.5構建的第三方dll。 似乎visual studio不接受這個? 為什么? VS告訴我當前上下文中不存在dll名稱。

因為您引用了更高版本。 微軟可以兼容,但不兼容“未來兼容”。 您需要將整個項目轉換為更高版本,以便能夠使用該二進制文件。

不知道你正在談論什么技術,但如果是asp.net ,請考慮在vNext中你可以在服務器上部署自己的cloud clr版本。 所以你可能有2個版本的應用程序,一個目標4.5 ,其他4.0

介紹vNext 重復,如果這涉及到你。

面向.NET 4.0的項目可以在4.0運行時運行。 一個針對.NET 4.5的DLL不能。

如果允許的話; 您將能夠構建似乎在4.0中工作的項目,並在嘗試加載4.5組件時失敗。

你可以參考另一種方式; 因為4.0 DLL可以在4.5運行時加載。

您需要從第三方請求4.0版本的DLL; 或目標.NET 4.5。

應用程序域將在4.0運行時下運行,因此無法引用較新的dotnet版本,只有相反的情況才是真的。

4.5是一個不同的.net運行時,因此無法在舊版本中加載4.5。

您必須記住,運行時需要將中間語言(IL)解釋為機器代碼。 如果IL是在4.5上創建的,那么4.0運行時將不知道如何解釋它。

在4.5中創建一個控制台應用程序,然后從4.0執行cmd以從4.5獲取所需的數據,這可能是一個快速的解決方案。 不知道,但它做的工作:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM