[英]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為目標的軟件包,則有兩種選擇:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.