Хотя решение и так очевидно, что я никогда не должен был публиковать это, я оставляю его как напоминание и полезную ссылку для других.
В моем файле app.config есть следующее:
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
</sectionGroup>
Далее:
<spring>
<context>
<resource uri="config://spring/objects"/>
</context>
<objects xmlns="http://www.springframework.net">
<object name="mediaLibrary" type="AlbumLibraryWPF.AlbumLibrary, AlbumLibraryWPF"/>
</objects>
</spring>
Тогда в моем приложении я получил:
using Spring.Context;
using Spring.Context.Support;
public partial class AlbumChecker : Window
{
private DataTable dataTable;
private Library library;
private Thread libraryThread;
public AlbumChecker()
{
InitializeComponent();
CreateToolTips();
IApplicationContext ctx = ContextRegistry.GetContext();
library = (Library)ctx.GetObject("mediaLibrary");
// Other initialisation
}
// Other code
}
Все это довольно хорошо компилируется, однако я получаю исключение при вызове GetContext ():
Error creating context 'spring.root': Could not load type from string value
'AlbumLibraryWPF.AlbumLibrary, AlbumLibraryWPF'.
Я проверил документацию Spring.NET и не вижу, что я делаю неправильно, но у меня явно что-то не так, иначе это не вызовет исключения!
AlbumLibraryWPF
- это пространство имен, а AlbumLibraryWPF.AlbumLibrary
- полностью определенное имя класса, который я хочу создать. Я предполагаю, что это я ошибся, но не понимаю, как.