我希望通过直接引用插件项目并实例化插件类来测试插件的核心类。创建测试Console App项目并将项目引用添加到插件项目时,在“引用”列表中的引用旁边会出现一个警告图标(带有感叹号的黄色三角形)。
当我改为添加对dll(插件的程序集生成输出)的引用时,没有得到这样的警告。这个警告可能试图告诉我什么?
我希望通过直接引用插件项目并实例化插件类来测试插件的核心类。创建测试Console App项目并将项目引用添加到插件项目时,在“引用”列表中的引用旁边会出现一个警告图标(带有感叹号的黄色三角形)。
当我改为添加对dll(插件的程序集生成输出)的引用时,没有得到这样的警告。这个警告可能试图告诉我什么?
Answers:
如问题注释中所述,项目之间的.NET Framework版本不同可能会导致此问题。检查新项目的属性,以确保未使用其他默认版本。
对于要一起使用的两个(或所有)项目:
右键单击项目>属性>应用程序> Target .NET Framework
确保两个(或所有)项目都使用相同的.NET Framework版本。
一个。转到工具> Nuget软件包管理器>软件包管理器控制台类型Update-Package-重新安装(如果不起作用,请继续2.b)
b。这是至关重要的,但可行的最大可能性。删除<Target> 可能有多行 </ Target>,通常在.csproj的底部找到。
保存,加载和构建解决方案。
重新安装当前解决方案的所有项目中的所有软件包:
Update-Package -Reinstall
尝试关闭和打开VS。
似乎很傻,但是在遵循上述步骤并找到所有内容后1小时后,一切正常。我重新启动了VS 2017,问题消失了。
在Asp.net core中,如果您更改项目名称空间或名称,它会显示警报。要删除此类警报,您只需卸载项目并再次加载即可。如果问题仍然存在,则意味着您找不到汇编参考。
要修复某些无法正常工作的东西,有时会删除一些库是有道理的,这听起来并不奇怪。
无论如何,我认为问题太广泛了,可能是由不同的因素引起的,所以想分享我的情况/解决方案。
我有一个Xamarin Forms和Telerik库的项目(由客户提供)。总的来说,这与组件有关,这些库不包含在packages文件夹中,也不能通过Nuget(付费的)获得。
整个项目参考文献为“黄色”,看上去非常可怕。
的溶液只是以除去那些Telerik的引用(包括其使用在代码几个对照)。此后,所有引用都神奇地得到了它们通常的普通灰色,错误(大部分)消失了。
“最多”-因为有时还会出现有关“元素未在任何地方定义”的“全红”错误消息。这很奇怪,带来了不便,但我仍然能够编译并运行项目:只需清理解决方案,重新启动Visual Studio,稍作祈祷,再次清理,删除obj / bin文件夹,再次重新启动,就可以了效果很好。
关键是删除不可用的库引用,因为错误消息绝对是另一回事。(例如,类似“找不到Xamarin.Build.Download.XamarinDownloadArchives或找不到东西”之类的东西,但是那可能意味着您没有可用的参考。
然后删除程序包文件夹,重新加载/重新打开项目/解决方案,转到“管理Nuget程序包”,然后单击“恢复”按钮。
谢谢大家的帮助。以下是我如何解决问题的细分:
右键单击您的项目>属性
在“应用程序”下,更改目标框架。在我的情况下,ImageSharp使用的是.Net 4.6.1。您可以在packages.config中找到它。
转到您的项目参考。您会注意到SixLabors有一个黄色三角形。您必须更新NuGet软件包。
右键单击参考>管理NuGet软件包。
更新SixLabors。
您可能会进行少量代码更新(请参见下文),但这解决了我的问题。
在多项目解决方案中,如果其他所有操作都失败,请执行以下操作:在启动项目中,检查。依赖关系->程序集,然后查看是否存在错误的引用项目。删除并重新构建。