2012-02-24 37 views
2

我們正在使用Razor語法將HTML模板轉換爲scrip#代碼的Html模板引擎。如何在Visual Studio中直接使用RazorEditor來獲取腳本#mscorlib.dll,而不是.Net Framework mscorlib.dll?

當我們在ScriptSharp項目中添加cshtml文件時,Visual Studio中的RazorEditor提供的intellisense將System.Collections命名空間和這些命名空間中的類型解析爲.net Framework mscorlib.dll而不是ScriptSharp mscorlib。 DLL。 但是C#代碼編輯器中的智能感知正確地將命名空間解析爲Script#mscorlib,因爲Script#項目的csproj文件包含包含腳本#mscorlib.dll的文件夾的ReferencePath。

我曾嘗試以下,但沒有運氣

  • 添加在ScriptSharp項目文件夾中的web.config文件,
    明確添加參考ScriptSharp的mscorlib DLL
    insystem.web>編輯>組件部分。

  • 創建一個bin文件夾並複製scriptsharp mscorlib dll。

有沒有辦法來暗示剃刀編輯拿起劇本#mscorlib.dll中,而不是 .NET框架的mscorlib.dll?

回答

3

剃鬚刀使用一個特殊的配置部分,就像這樣,它不使用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> 
+0

感謝您的答覆保羅。但是,如果我嘗試這個,我得到這個錯誤「無法識別的配置節System.web.webPages.razor /程序集。」 – arul 2012-02-24 13:07:18

+0

@arul我更新了答案,對不起,我把這部分留下了。 – 2012-02-24 13:39:39

+0

我已經嘗試過,但沒有運氣。看起來像程序集元素是無效的這些元素System.web.webPages.razor,主機,頁面。 – arul 2012-02-24 13:47:17

相關問題