为什么添加对MEF插件项目的引用时会出现警告图标?

我希望通过直接引用插件项目和实例化插件类来testing插件的核心类。 当我创build一个testing控制台应用程序项目并添加项目引用到插件项目时,我会在参考列表中的参考旁边看到一个警告图标(带有感叹号的黄色三angular形)。

当我反而添加一个引用的DLL,组件生成插件的输出,我没有得到这样的警告。 这个警告能告诉我什么?

如问题的评论中所述,项目之间的不同.N​​ET Framework版本可能会导致此问题。 检查您的新项目的属性,以确保不使用不同的默认版本。

遇到与ASP.Net Web App相同的问题和需要在Web App中引用的两个库类项目。 我没有提供关于为什么构build失败和参考无效的信息。

解决scheme是确保所有项目都具有相同的目标框架:

在Visual Studio 2015- 右键单击项目>属性>应用程序>目标框架

保存,清理和重build解决scheme。 项目引用不应再显示为黄色警告,并且解决scheme将被编译。

我的Web应用程序是针对.Net 4.5,而另外两个依赖库类项目的目标.Net v4.5.2

对于您想要一起使用的两个(或全部)项目:

右键单击项目>属性>应用程序>目标.NET框架

确保两个(或全部)您的项目使用相同的.NET框架版本。

重新安装当前解决scheme的所有项目中的所有软件包:

Update-Package -Reinstall 

检查引用的DLL的NETFramework以及您添加DLL的项目。 例如:DLL ==> supportedRuntime version =“v4.0”Project ==> supportedRuntime version =“v3.0”

你会得到警告图标。 解决scheme:使dll版本一致。

我的2美分添加到@ kad81的答案,

转到Visual Studio – > BUILD – > Configuration Manager

在右上angular的“Active Solution Platform”(我的VS 2012)中,如果是“Mixed Platforms”,则根据您的参考第三方程序集将其更改为相应的平台。

然后在列表中的每个项目中,确保为所有项目select相同的平台。 (如果x86不存在,那么select“”,那么你可以select“x86”)。

首先重build库项目,然后引用项目。 希望这可以帮助。

自问这个问题已经很长时间了,但是如果有人仍然感兴趣 – 我最近遇到了类似的图标。 我正在编译一个使用VS 2008的C#.net项目。我发现VS找不到这些引用的程序集。 当我双击VS刷新引用,并删除了一些[编辑:它现在可以find]的图标。 对于其余的引用,我不得不编译相应的程序集。

我有这些图标出于不同的原因。 我们所有的项目(近100个)都有一个大的解决scheme。 我做了一个我感兴趣的项目的子select,并提出了一个新的解决scheme。 然而,在项目引用而不是参考编译的DLL的引用….

经过一番研究,我在GitHub上发现了这个链接,这是VS2015中的新行为。

在GitHub页面上,他们解释了将项目引用转换为二进制引用的解决方法。