C#引用类型组件声明它是在系统中定义的,但未找到

时间:2016-12-24 08:32:13

标签: c# visual-studio-2015 compiler-errors uwp oledbconnection

我正在开发一个应用程序(空白解决方案)来读取,写入和编辑访问数据库文件中的数据。

我创建了一个OleDbConnection对象,并为其提供了一个在另一个Console应用程序解决方案中工作的连接字符串。

但是,当我打开或关闭连接时,我收到错误 “Cs7069对类型组件的引用声明它在系统中定义,但未找到”

  OleDbConnection a = new OleDbConnection();
//given connection string
a.Open();
a.Close();

当我调用Open()和Close()方法时,我收到错误。错误发生在编译时而非运行时。 [Visual studio 2015]

我试过了: 重建解决方案 改变各种参考文献 清洗然后重建解决方案

注意:解决方案中只有一个项目

请帮忙, 谢谢

1 个答案:

答案 0 :(得分:0)

让我做一些猜测。

您正在构建UWP应用吗?如果是这样,你就不能使用OleDbConnection,只有.NET subset对你来说。

如果没有并且你的应用程序不是UWP,那么你可以通过创建空的控制台项目,将System.Data添加到引用并创建最小程序来重现错误来重现错误,例如:

class Program
{
    static void Main(string[] args)
    {
        using (var connection = new System.Data.OleDb.OleDbConnection{ConnectionString = ".. your connection string .."})
        {
            connection.Open();

            Console.WriteLine("DataSource: {0}, database: {1}",connection.DataSource, connection.Database);
        }         
    }
}

最后也是最不可能的,这个错误也可能是由于你有多个名称模仿System.Data的程序集引起的,但我敢打赌,这不是你的情况。