Если Вы кодируете для MOSS, и Вы добираетесь, сайт ссылаются на этот путь:
SPSite oSiteCollection = SPContext.Current.Site;
и позже в Вашем коде Вы говорите:
oSiteCollection.Dispose();
От MSDN:
при создании объекта SPSite можно использовать Расположить метод для закрытия объекта. Однако, если у Вас есть ссылка на совместно используемый ресурс, такой как тогда, когда объект обеспечивается методом GetContextSite или свойством Site (например, SPContext. Текущий. Сайт), не используйте Расположить метод, чтобы закрыть объект, но вместо этого позволить Windows SharePoint Services или Вашему приложению портала управлять объектом. Для получения дополнительной информации об объектном распоряжении, посмотрите Лучшие практики: Объекты Using Disposable Windows SharePoint Services.
Это происходит с каждым программистом MOSS и некоторой точкой.
Без использования COM вам придется написать оболочку C ++ / CLI. Ваш собственный код, который включает файл заголовка вашей оболочки, должен быть скомпилирован с помощью / clr (поддержка общеязыковой среды выполнения).
Из любопытства, почему бы не использовать COM-взаимодействие? Ознакомьтесь с инструментами regasm.exe и tlbexp.exe.
Вам нужно что-то, чтобы заставить управляемый мир и неуправляемый мир работать вместе. Если вы не хотите использовать COM, вы можете создавать классы-оболочки в C ++ / CLI.
Вот статья, которая поможет вам начать: Мост из .NET в C ++ .