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

当我改为添加对dll(插件的程序集构建输出)的引用时,我没有得到这样的警告。这个警告想告诉我什么?


当前回答

找到.csprojc文件并打开它。

找到您的包路径。我通过这个问题修正了我的项目。

..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll

这个. .意味着vs将在父目录中找到这个DLL。

您应该确认您的包路径,并且您将修复此问题。

其他回答

我有这些图标是出于不同的原因。对于我们所有的项目(近100个),我们都有一个大的解决方案。我对我感兴趣的项目进行了子选择,并制定了新的解决方案。然而,引用的项目引用而不是引用编译dll的....

经过一些研究,我在GitHub上找到了这个链接,解释了这是VS2015中的新行为。

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

这个问题已经问了很长时间了,但如果有人仍然感兴趣的话——我最近遇到了类似的图标。我正在用vs2008编译一个c# .net项目。我发现VS无法为这些引用定位程序集。当我双击VS时,刷新了引用并删除了其中一些图标[编辑:它现在可以定位]。对于其余的引用,我必须编译各自的程序集。

我已经创建了一个新的。sln,并将其放在子文件夹中。添加.sln文件的地方丢失了.nuget文件夹。移动。nuget文件夹从根到子文件夹,我的新。sln文件解决了我的问题。

我稍后回来,将.sln文件添加到根目录,并删除了子文件夹。这样做本来也可以解决这个问题。

对我来说,在. net Framework 4.7.1控制台应用程序中引用. net Standard 2.0类库时遇到了这个问题。是的,框架是不同的,但是它们是兼容的。NET标准应该与。NET核心和。NET框架相结合。)我试着清理、重建、删除和阅读项目参考资料,等等……但没有成功。最后,退出Visual Studio并重新开放解决了这个问题。

确保每个项目的所有版本都是相同的,单击每个项目并在这里查看版本,项目>属性>应用>目标。net框架 a.进入工具> Nuget包管理器>包管理器控制台类型更新-包-重新安装(如果不工作,请执行2.b) 这很关键,但也是可行的最大可能性。删除< Target >可能有多行< /Target >通常在.csproj的底部。 保存、加载和构建解决方案。