解码“下面的程序集具有高于目标...的.NET Framework版本...:Microsoft.ServiceBus”

时间:2019-05-28 09:28:54

标签: c# visual-studio-2017 compiler-warnings csc aspnet-compiler

最近的几处更改(将我们用于Azure队列的nuget包升级/更改,从组合的WindowsAzure.Storage 2.1.0到单独的Microsoft.Azure.Storage.Queue 10.0.0.3-我是不确定它们与ServiceBus的关系如何,但是作为更改的一部分,所有项目的目标框架都从.NET 4.5移至.NET 4.5.2),对一个项目引入了以下警告:

  

以下程序集具有高于.NET Framework版本的依赖关系,该版本高于目标版本,并且在运行时可能无法正确加载,从而导致失败:Microsoft.ServiceBus,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35 。依赖关系为:System.Transactions,版本= 4.0.0.0,文化=中性,PublicKeyToken = b77a5c561934e089。您应该确保相关程序集对于目标框架是正确的,或者确保您要处理的目标框架是相关程序集的目标框架。

此解决方案中有几个引用Microsoft.ServiceBus的项目。其中有些还引用System.Transactions,有些则没有。那些引用System.Transactions的应用程序使用C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Transactions.dll中的DLL。项目之间此引用的设置似乎没有什么区别,但只有其中一个会发出此警告

解决方案中的所有项目均以.NET 4.5.2为目标,并且Microsoft.ServiceBus引用始终是从C:\...path...\packages\WindowsAzure.ServiceBus.5.2.0\lib\net45\Microsoft.ServiceBus.dll派生的。

那么,错误是什么意思?我的项目X引用了Microsoft.ServiceBus,并且DLL是否需要高于4.5.2?还是Microsoft.ServiceBus依赖于System.Transactions,而System.Transactions是否需要高于.NET 4.5.2的版本?

我发现措辞有点含糊,因此我不确定是哪个依赖程序集,为什么它对目标不正确,或者为什么解决方案中只有一个项目给出警告? ..如何解释此警告消息?

0 个答案:

没有答案