【问题标题】:I am getting "defined in an assembly that is not referenced" errors when building my c# project, how to solve it?在构建我的 c# 项目时,出现“在未引用的程序集中定义”错误,如何解决?
【发布时间】:2015-02-05 19:39:01
【问题描述】:

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

1.“System.ComponentModel.IListSource”类型在未引用的程序集中定义。您必须添加对程序集的引用 '系统,版本=2.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089'。

2. 'System.Data.Common.DbDataReader' 类型在未引用的程序集中定义。您必须添加对程序集的引用 'System.Data,版本=2.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089'。

3.“System.Data.IDataRecord”类型在未引用的程序集中定义。您必须添加对程序集“System.Data”的引用, 版本=2.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089'。

4. 'System.Data.Common.DbConnection' 类型在未引用的程序集中定义。您必须添加对程序集的引用 'System.Data,版本=2.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089'。

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

【问题讨论】:

标签: c# .net


【解决方案1】:

我要放弃我的解决方案。我重新启动了视觉工作室。

【讨论】:

  • 这里也一样。重新启动为我解决了问题
【解决方案2】:

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

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

【讨论】:

  • 问题是我已经引用了 System 和 System.Data。
  • 程序集是否存在于它被引用的位置?尝试删除并添加引用。 msdn.microsoft.com/en-us/library/ayds71se.aspx
  • 什么都没有发生......而且我也无法更改目标框架版本
  • 如何在 Unity 项目中做到这一点?在 Unity 中没有添加引用的选项
【解决方案3】:

在我的情况下,我遇到了错误

您必须添加对程序集 netstandard 的引用,Version=2.0.0.0

通过以下步骤解决

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

   <ItemGroup>
    <Reference Include="netstandard" />
  </ItemGroup>
  1. 保存文件。
  2. 再次右键单击项目并选择重新加载项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多