2010-02-11 3 views
0

У меня есть проект библиотеки классов и приложение winforms.Subsonic 3 Class Library & Winforms App Null IDataProvider BUG

Все работает отлично, и приложение Winforms ссылается на библиотеку классов, но как только я запустил его и попытаюсь восстановить данные, он приходит с dataprovider равным null.

Следует отметить, что у меня нет приложения app.config в приложении Winforms только в библиотеке классов. Нужна ли мне одна в приложении Winforms, и если да, то что я в нее вставляю?

Благодаря

UPDATE: Я думаю, что я нашел ошибку в Query \ Select.cs

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; 
    } 

ответ

1

Да, вам нужно App.config в приложении Winforms и вы кладете соединение строка там. Стоит отметить, что App.config бессмысленна в библиотеке классов EXCEPT, когда вы используете SubSonic :), который вытащит один из проекта.

Библиотеки классов не имеют собственной конфигурации - они извлекают свою конфигурацию из среды исполнения.

+0

Я поместил app.config в свою библиотеку классов вместе с файлами TT, и все, похоже, работает. Я думаю, что проблема могла быть ошибкой в ​​Subonsic. Если вы посмотрите на мое обновление, то необходимо передать proprovider перед вызовом нового SqlFragment. – Jon

+0

. Шаблоны захватывают строку соединения и другие вспомогательные материалы, связанные с подключением, из app.config из библиотеки классов во время разработки. Во время выполнения соединительные строки должны быть в основном (в данном случае приложением winform). Поэтому вам нужно дважды поддерживать конфигурацию. –

+0

У меня нет конфигурации в моем winforms приложении, и все в порядке. Я просто думаю, что есть ошибка в дозвуковых. Строки источника, которые я отправил, первые два требуют обмена. Думаю – Jon