Как направить RazorEditor в Visual Studio для получения сценария # mscorlib.dll вместо .Net Framework mscorlib.dll? - PullRequest
2 голосов
/ 24 февраля 2012

Мы работаем над механизмом шаблонов HTML, использующим синтаксис Razor, который преобразует шаблон HTML в код scrip #.

Когда мы добавляем файл cshtml в проект ScriptSharp, интеллектуальный смысл, предоставляемый RazorEditor в visual studio, разрешает пространства имен System, System.Collections и типы в этих пространствах имен в .net Framework mscorlib.dll вместо ScriptSharp mscorlib.dll , Но intellisense в редакторе кода C # правильно разрешает пространства имен в Script # mscorlib, поскольку файл csproj для проекта Script # содержит ReferencePath к папке, содержащей скрипт # mscorlib.dll.

Я попробовал следующее, но не повезло

  • Добавлен файл web.config в папке проекта ScriptSharp и
    явно добавлена ​​ссылка на ScriptSharp mscorlib dll
    insystem.web> сборка> раздел сборок.

  • Создал папку bin и скопировал dll scriptsharp mscorlib.

Есть ли способ подсказки редактору Razor подобрать скрипт # mscorlib.dll вместо .net Framework mscorlib.dll?

1 Ответ

3 голосов
/ 24 февраля 2012

Razor использует специальный раздел конфигурации, примерно так, он не использует элемент compilation.

<system.web.webPages.razor>
  ...
  <pages pageBaseType="System.Web.Mvc.WebViewPage">
    <assemblies>
      ...
    </assemblies>
    <namespaces>
      ...
    </namespaces>
  </pages>
</system.web.webPages.razor>

Вам также необходимо добавить определение этого раздела конфигурации:

<configSections>
  <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  </sectionGroup>
</configSections>
...