Subsonic 亚音速3类库&;Winforms应用程序空IDataProvider错误

Subsonic 亚音速3类库&;Winforms应用程序空IDataProvider错误,subsonic,subsonic3,Subsonic,Subsonic3,我有一个类库项目和一个winforms应用程序 一切都变得很好,我的Winforms应用程序引用了类库,但只要我运行它并尝试检索数据,它就会显示dataprovider为空 需要注意的一点是,我的Winforms应用程序中没有app.config,只有类库中有。Winforms应用程序中是否需要一个,如果需要,我应该在其中添加什么 谢谢 更新:我想我在Query\Select.cs中发现了一个bug public Select(IDataProvider provider, params

我有一个类库项目和一个winforms应用程序

一切都变得很好,我的Winforms应用程序引用了类库,但只要我运行它并尝试检索数据,它就会显示dataprovider为空

需要注意的一点是,我的Winforms应用程序中没有app.config,只有类库中有。Winforms应用程序中是否需要一个,如果需要,我应该在其中添加什么

谢谢

更新:我想我在Query\Select.cs中发现了一个bug

    public Select(IDataProvider provider, params string[] columns)
    {
        //_provider is null
        //provider is populated correctly
        this.sqlFragment = new SqlFragment(_provider);
        _provider = provider;
        SelectColumnList = columns;
        SQLCommand = this.sqlFragment.SELECT;
    }

是的,您需要在Winforms应用程序中使用App.config,然后将连接字符串放在那里。值得注意的是,App.config在类库中是毫无意义的,除非您使用亚音速:),这将从项目中提取一个


类库没有自己的配置-它们从执行环境中提取配置。

我在类库中放了一个app.config和TT文件,所有这些似乎都可以工作。我认为问题可能在于Subonsic中的bug。如果您查看我的更新,则需要在调用新的SQLFragments之前分配提供程序,模板会在设计期间从类库app.config中绘制connectionstring和其他亚音速相关内容。在运行时,连接字符串必须位于主(在本例中为winform app)项目中。所以你必须维护你的配置两次。我的winforms应用程序中没有配置,一切正常。我只是觉得亚音速有一个缺陷。我发布的源代码行,前两行需要交换,我想我的应用程序在winforms应用程序中没有app.config,只有在类库项目中如何工作?我不知道。我知道你是唯一一个报告这件事的人-我必须假设它在你的设置中。