Вопрос

У меня возникла проблема с веб-сайтами Visual Studio 2008 и SharePoint / MOSS 2007.Ранее у нас было 2 проекта веб-приложений, размещенных в нашей структуре SharePoint, но из-за природы файлов проекта и системы управления версиями это создавало проблемы в нашей среде командной разработки.Я решил переключиться с веб-приложений на веб-сайты, чтобы удалить файл проекта, пока у меня не будет времени сменить систему управления версиями на TFS.Все работает нормально, однако, когда я пытаюсь вручную создать один из веб-сайтов, я получаю следующую ошибку:

Для запуска этого построителя выражений требуется SPContext

Теперь это не является реальной проблемой из-за природы веб-сайтов и того, как они компилируются по мере необходимости при загрузке.Но это проблема для моей команды разработчиков, поскольку мы действительно хотели бы иметь возможность получать успешные сборки по разным причинам.

Проблема возникает из-за использования используемого нами пользовательского конструктора выражений, который по-прежнему отлично работает во время выполнения.Только во время компиляции это выдает нам ошибку.

Мы были бы весьма признательны за любые мысли или идеи о том, как можно преодолеть эту проблему.

Ваше здоровье,

Брендан

Нет правильного решения

Другие советы

SPContext.Текущий используется многими приложениями SharePoint для определения текущего контекста SharePoint, в котором они работают.С учетом внесенных изменений это, очевидно, больше невозможно в процессе сборки.

Одним из вариантов является создание некоторой защиты, при которой, если допустимый SPContext не может быть найден, он создается с новыми объектами SPSite / SPWeb по мере необходимости для предоставления этого контекста.Это может потребовать некоторой перестройки архитектуры в зависимости от того, как был разработан expression builder, особенно потому, что теперь вам нужно будет правильно утилизировать созданные объекты SPSite и SPWeb (что не требуется при использовании SPContext).

Другой вариант - использовать издевательский фреймворк, такой как Изолятор Typemock.Это будет имитировать SPContext.Однако, я полагаю, вам также нужно было бы переархивировать код, чтобы использовать это.С положительной стороны, вы могли бы остаться с использованием только SPContext .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top