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

Posted

技术标签:

【中文标题】在构建我的 c# 项目时,出现“在未引用的程序集中定义”错误,如何解决?【英文标题】:I am getting "defined in an assembly that is not referenced" errors when building my c# project, how to solve it? 【发布时间】: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。

【问题讨论】:

您没有将上述 DLL 引用到您的项目中,这就是原因 添加 DLL 的阅读此msdn.microsoft.com/en-us/library/wkze6zky.aspx 【参考方案1】:

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

【讨论】:

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

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

    添加对System.dll的引用,它将在右侧显示为系统 添加对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

通过以下步骤解决

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

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

【讨论】:

以上是关于在构建我的 c# 项目时,出现“在未引用的程序集中定义”错误,如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

错误 CS0012 类型“XmlReader”在未引用的程序集中定义

奇怪错误 - CS0012:类型x在未引用的程序集中定义

Xamarin.GooglePlayServices.Ads。破坏了我的项目

C# 视频播放

您必须添加对程序集 mscorlib 的引用,版本=4.0.0

Android C# HtmlAgilityPack