visual-studio - Visual Studio C# 引用警告

标签 visual-studio configuration reference warnings

编译后,我的解决方案有一个警告,如下快照所示。 enter image description here

双击警告会弹出一个问题,我不知道它是什么。 enter image description here

如果你明白VS在说什么,请分享。

最佳答案

这看起来您在解决方案的不同项目中引用了略有不同的依赖项版本。这意味着,当您尝试运行项目时,如果您传递依赖项中具有类型的任何引用,则可能会出现意外错误,因为来自同一程序集的不同版本的类型被认为是不同的。

例如

Project1 使用版本 1.0 的依赖项 SomeAssembly.dll Project2 使用依赖项 SomeAssembly.dll 但版本为 1.1 Project2 将 Project1 作为依赖项

项目 2 中的代码尝试将 SomeType 的引用(该类型在 SomeAssembly.dll 中定义)从其代码传递到项目 1 的代码。项目 1 抛出一个错误,因为该类型无法识别,因为它来自不同版本的程序集。

您的问题可能比这更微妙,因为编译器可以捕获这种类型的大多数错误,但如果您有复杂的依赖项或使用依赖项注入(inject),编译器可能不一定会发现这样的事情。

Visual Studio 提供了有效的解决方法,将所有依赖项重定向到特定版本。恕我直言,如果您可以自己手动修复它,我会避免进行修复。

您最好仔细检查您的解决方案并检查所有引用文献以确保它们全部匹配版本。您可能需要删除并添加回引用才能使其正常工作,但从长远来看,现在这样做可以避免出现意外问题。

关于visual-studio - Visual Studio C# 引用警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6579610/

相关文章:

c++ - 指针变量有什么用?

c++ - 如何在 Visual Studio 2013 中更改 C++ 标准

c# - Visual Studio 将项目发布到一个简单的安装程序中

visual-studio - 如何增加 Visual Studio 2017 的可视化工具超时

java - 任何 Apache Commons-Configuration 替代品/竞争对手?

C++ std::reference_wrapper 如何隐式转换为引用?

java - 在 Java 中,定义数组是为引用分配空间还是为对象本身分配空间?

c# - Visual Studio : Programmatically Create Project Items in project directory

php - 如何通过php.ini配置过滤掉通知

configuration - Hadoop 配置属性返回 Null