ASP.Net VirtualPathProvider и Visual Studio Intellisense - PullRequest
3 голосов
/ 19 марта 2011

Я надеюсь, что кто-то может помочь мне с этим раздражением.

На работе у нас есть два независимых веб-проекта, которые имеют общую мастер-страницу. MasterPage встроен в библиотеку классов, на которую ссылаются оба проекта. Мы используем пользовательский VirtualPathProvider, который позволяет нам ссылаться на MasterPage в каждом проекте. Это прекрасно работает во время выполнения / во время компиляции, но нарушает intellisense внутри разметки страницы aspx.

Когда я устанавливаю для свойства MasterPageFile значение «~ / EmbeddedMasterPage.Master», Visual Studio отображает красную ошибку с волнистыми углами под заголовком «Путь не найден» с каталогом, указывающим, что он пытается найти этот файл в проекте веб-сайта ( в отличие от проекта библиотеки классов). Так как Visual Studio не может понять, где находится MasterPage, это приводит к разрушению всего смысла. Это ничего не показывает для тегов. Фактически, единственное значение, которое он мне даст, - это основные HTML-теги. Из поиска в Google, единственная информация, которую я смог найти, это то, что VS не может найти корневые теги html / head / body во встроенной MasterPage. Я не мог найти способ исправить это.

Это происходит как в Visual Studio 2008, так и в 2010 году.

Обновление (4/10/2011)

В настоящее время мне нужно скопировать встроенную мастер-страницу в реальный проект сайта, чтобы заставить его работать. Я установил, что файл не компилируется / копируется, и он работает нормально.

1 Ответ

0 голосов
/ 15 апреля 2011

VirtualPathProvider требует среды выполнения. Во время разработки это недоступно, поэтому нет возможности заставить IDE найти его через VirtualPathProvider.

Я думаю, что ваше обновление - лучший обходной путь.

...