为了账号安全,请及时绑定邮箱和手机立即绑定

从目标为4.5.1的.csproj引用程序集为目标4.5.2会给出错误

从目标为4.5.1的.csproj引用程序集为目标4.5.2会给出错误

C#
明月笑刀无情 2021-04-01 14:11:38
我有一个针对图书馆4.5.2。当我从.csproj定位中引用该库时4.5.1,它错误地指出: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,一切都应该可以正常工作,除非使用特定功能的升级二进制文件在Windows4.5.2中不可用4.5.1。到目前为止我是正确的吗?按照类似的逻辑,如果我4.5.2从项目定位中引用库定位4.5.1,那行不通吗?
查看完整描述

1 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

仅仅因为它是就地升级,并不意味着您可以引用向前的版本。最终,您要引用的软件包是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或作为其补充)


查看完整回答
反对 回复 2021-04-10
  • 1 回答
  • 0 关注
  • 237 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信