我希望通过直接引用插件项目和实例化插件类来测试一个插件的核心类。当我创建一个测试控制台应用程序项目并向插件项目添加一个项目引用时,我在引用列表中的引用旁边得到了一个警告图标(带有感叹号的黄色三角形)。
当我改为添加对dll(插件的程序集构建输出)的引用时,我没有得到这样的警告。这个警告想告诉我什么?
我希望通过直接引用插件项目和实例化插件类来测试一个插件的核心类。当我创建一个测试控制台应用程序项目并向插件项目添加一个项目引用时,我在引用列表中的引用旁边得到了一个警告图标(带有感叹号的黄色三角形)。
当我改为添加对dll(插件的程序集构建输出)的引用时,我没有得到这样的警告。这个警告想告诉我什么?
当前回答
对我来说,在. net Framework 4.7.1控制台应用程序中引用. net Standard 2.0类库时遇到了这个问题。是的,框架是不同的,但是它们是兼容的。NET标准应该与。NET核心和。NET框架相结合。)我试着清理、重建、删除和阅读项目参考资料,等等……但没有成功。最后,退出Visual Studio并重新开放解决了这个问题。
其他回答
试着关闭和打开VS。
看起来很傻,但在遵循上述1小时后,发现一切都很好。我重启了VS 2017,问题都解决了。
在@kad81的答案上加上我的2点意见,
进入Visual Studio -> BUILD ->配置管理器
在右上角的“主动解决方案平台”下拉菜单中(我的是VS 2012),如果它是“混合平台”,根据您参考的第三方程序集将其更改为适当的平台。
然后在列表中的每个项目中,确保为所有项目选择相同的平台。(如果x86不存在,则选择“”,则可以选择“x86”。)
首先重新构建库项目,然后再引用项目。 希望这能有所帮助。
我有这些图标是出于不同的原因。对于我们所有的项目(近100个),我们都有一个大的解决方案。我对我感兴趣的项目进行了子选择,并制定了新的解决方案。然而,引用的项目引用而不是引用编译dll的....
经过一些研究,我在GitHub上找到了这个链接,解释了这是VS2015中的新行为。
在GitHub页面上,他们解释了一个将项目引用转换为二进制引用的变通方法。
打开YOURPROJECT。用文本编辑器编辑Csproj文件,然后在文件末尾删除目标标记内的这些行,然后再次构建项目! 确保Package文件夹在< Reference > < HintPath >中提到的正确路径
<Error Condition="!Exists('.......
好好享受吧!)
在ASP上遇到了同样的问题。Net Web App和两个需要在Web App中引用的库类项目。我没有提供关于为什么构建失败和引用无效的信息。
解决方案是确保所有项目都有相同的目标框架:
在Visual Studio 2015中右键单击项目>属性>应用程序>目标框架
保存,清洁和重建解决方案。项目引用将不再显示为黄色警告,解决方案将被编译。
我的Web应用程序的目标是。net 4.5,而其他两个依赖库类项目的目标是。net v4.5.2