我在构建 c# 项目时遇到“在未引用的程序集中定义”错误,如何解决它

本文关键字:错误 定义 何解决 解决 集中 程序集 项目 构建 遇到 程序 引用 | 更新日期: 2023-09-27 18:33:33

我已经引用了System和System.Data。

1.类型"System.ComponentModel.IListSource"是在未引用的程序集中定义的。必须添加对程序集的引用 '系统,版本=2.0.0.0,区域性=中性, 公钥令牌=b77a5c561934e089'。

2.类型"System.Data.Common.DbDataReader"在未引用的程序集中定义。必须添加对程序集的引用 '系统数据,版本=2.0.0.0,区域性=中性, 公钥令牌=b77a5c561934e089'。

3.类型"系统.数据.IDataRecord"在未引用的程序集中定义。必须添加对程序集"系统数据"的引用。 版本=2.0.0.0,区域性=中性,公钥令牌=b77a5c561934e089'。

4.类型"System.Data.Common.DbConnection"在未引用的程序集中定义。必须添加对程序集的引用 '系统数据,版本=2.0.0.0,区域性=中性, 公钥令牌=b77a5c561934e089'。

我已经引用了系统和系统数据。

我在构建 c# 项目时遇到“在未引用的程序集中定义”错误,如何解决它

重新启动Visual Studio为我解决了这个问题。

您需要添加对定义类型的程序集的引用。添加对程序集的引用;右键单击项目下的"引用"节点,然后选择左侧树上的"程序集"节点,然后

  1. 添加对System.dll的引用,这将在右侧显示为"系统">
  2. 添加对System.Data.dll的引用,这将在右侧显示为System.Data

就我而言,我收到错误

必须添加对程序集网络标准的引用,版本=2.0.0.0

已通过以下步骤解决

  1. 在 Visual Studio - 解决方案资源管理器中,右键单击项目并选择"卸载",以便能够编辑 .proj 文件。
  2. 在 t 标签的一侧找到标签的最后一个标签。
  3. 添加新标签后,如下所示:

   <ItemGroup>
    <Reference Include="netstandard" />
  </ItemGroup>

  1. 保存文件。
  2. 再次右键单击项目并选择重新加载项目。

在以下情况下可能会发生此类错误

  1. 你引用来DLL。在您的项目中,您有
<Reference Include="Some.Assembly, Version=10.0.0.0, Culture=neutral, PublicKeyToken=32bf3556ab364c35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..'..'bin'Some.Assembly.dll</HintPath>
</Reference>
  1. 您需要升级此 dll。
  • 将新的 DLL 放入垃圾箱(请参阅HintPath(。如果此DLL具有不同的公钥,或者没有公钥,则在生成项目时,将收到此确切的错误

在这种情况下的解决方案 - 重置引用。删除现有引用,然后重新添加。

就我而言,当我使用的一个DLL不是开源然后成为开源时,就会发生这种情况。我自己构建了它并替换了一个旧的 dll。