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

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


当前回答

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

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

其他回答

找到.csprojc文件并打开它。

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

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

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

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

在@kad81的答案上加上我的2点意见,

进入Visual Studio -> BUILD ->配置管理器

在右上角的“主动解决方案平台”下拉菜单中(我的是VS 2012),如果它是“混合平台”,根据您参考的第三方程序集将其更改为适当的平台。

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

首先重新构建库项目,然后再引用项目。 希望这能有所帮助。

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

在Asp.net核心中,如果您更改了项目名称空间或名称,有时会显示警报。要删除这种类型的警报,您只需卸载项目,并再次加载它。 如果问题仍然存在,意味着您无法找到您的程序集参考。

如果显式引用已经隐式引用的项目,也会发生这种情况。

i.e

项目a引用项目b 项目c引用项目a(添加隐式引用。展开查看) 项目c引用项目b

您将在项目引用下的b旁边看到一个感叹号。