簡體   English   中英

從.csproj目標4.5.1引用目標為4.5.2的程序集給出錯誤

[英]Referencing assembly targeting 4.5.2 from .csproj targeting 4.5.1 gives error

我有一個針對4.5.2的庫。 當我從目標為4.5.1 .csproj引用此庫時,它錯誤地指出:

C:\\ Program Files(x86)\\ MSBuild \\ 14.0 \\ bin \\ Microsoft.Common.CurrentVersion.targets(1820,5):警告MSB3274:主要引用為“ XXX,Version = 1.0.0.0,Culture = neutral,processorArchitecture = MSIL ”無法解決,因為它是針對“ .NETFramework,Version = v4.5.2”框架構建的。 此版本比當前目標框架“ .NETFramework,Version = v4.5.1”更高。

根據我的理解,已經將4.5.1升級到4.5.2 通過就地升級,我了解到,如果我將.csproj升級到4.5.2並且當我的目標部署計算機仍具有4.5.1 ,一切都應該可以正常工作,除非我的升級二進制文件使用了4.5.2的特定功能(該功能不可用)在4.5.1 到目前為止我是正確的嗎? 按照類似的邏輯,如果我從目標為4.5.1項目中引用目標為4.5.2庫,那行不通嗎?

僅僅因為它是就地升級,並不意味着您可以引用向前的版本。 最終,您要引用的軟件包是4.5.2,這意味着它可以利用在4.5.2中存在的功能。 因此,從4.5.1項目中將其作為目標並不安全 ,因為說“我以4.5.1為目標”的全部要點是,如果有人擁有 4.5.1, 則它應該運行 哪個:不會。

因此:如果要定位當前以4.5.2為目標的軟件包,則有兩種選擇:

  • 將您的項目更改為目標4.5.2
  • 查看是否可以將要引用的軟件包調整為目標4.5.1(替代4.5.2或作為其補充)

暫無
暫無

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

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