我希望通过直接引用插件项目和实例化插件类来测试一个插件的核心类。当我创建一个测试控制台应用程序项目并向插件项目添加一个项目引用时,我在引用列表中的引用旁边得到了一个警告图标(带有感叹号的黄色三角形)。
当我改为添加对dll(插件的程序集构建输出)的引用时,我没有得到这样的警告。这个警告想告诉我什么?
我希望通过直接引用插件项目和实例化插件类来测试一个插件的核心类。当我创建一个测试控制台应用程序项目并向插件项目添加一个项目引用时,我在引用列表中的引用旁边得到了一个警告图标(带有感叹号的黄色三角形)。
当我改为添加对dll(插件的程序集构建输出)的引用时,我没有得到这样的警告。这个警告想告诉我什么?
当前回答
如果你使用的是新风格的Sdk项目,将OutputType添加到ProjectGroup元素中,在你引用的项目中,它的值为Library。 如果它在你引用的项目中,并且它引用了一个没有设置的项目,它也会给你带来麻烦。
其他回答
试着关闭和打开VS。
看起来很傻,但在遵循上述1小时后,发现一切都很好。我重启了VS 2017,问题都解决了。
我有这些图标是出于不同的原因。对于我们所有的项目(近100个),我们都有一个大的解决方案。我对我感兴趣的项目进行了子选择,并制定了新的解决方案。然而,引用的项目引用而不是引用编译dll的....
经过一些研究,我在GitHub上找到了这个链接,解释了这是VS2015中的新行为。
在GitHub页面上,他们解释了一个将项目引用转换为二进制引用的变通方法。
重新安装当前解决方案所有项目中的所有包:
Update-Package -Reinstall
检查所引用的dll的NETFramework &您正在添加dll的项目。 例: DLL ==> supportedRuntime version="v4.0" Project ==> supportedRuntime version="v3.0"
你会得到警告图标。 解决方案:使dll版本一致。
确保每个项目的所有版本都是相同的,单击每个项目并在这里查看版本,项目>属性>应用>目标。net框架 a.进入工具> Nuget包管理器>包管理器控制台类型更新-包-重新安装(如果不工作,请执行2.b) 这很关键,但也是可行的最大可能性。删除< Target >可能有多行< /Target >通常在.csproj的底部。 保存、加载和构建解决方案。