2011-01-17 20 views
3

MVC 3用の社内ライブラリを開発しています。これをプロジェクトに追加します。MVC 3のRazorを使用したカスタムライブラリ

私はweb.configに追加しました。私はアセンブリを追加し、ページに追加 - >名前空間セクションと...いいえ。動作しません。

私は再コンパイルなどを試みたが、Razorはまったくそれを好まなかった。それはintellisenseの問題ではない...私は私の定義された名前空間を使用する場合、サイトを実行することはできません。

私はそれが仕事をした唯一の方法は、以下のステートメントを使用していた:

@using Sample.Helpers 

私はページにそれを使用する必要はありません。私はそれを多くのプロジェクトに配備し、web.configに追加することが確実に行く方法です。

誰でもこの問題が発生しましたか?

+0

[カミソリ構文@usingと名前空間宣言の可能性の重複を使用しています失敗](http://stackoverflow.com/questions/3875207/razor-syntax-using-and-namespace-declarations-fail) – marcind

答えて

10

あなたはかみそりが異なるconfigセクションを使用しているため、~/Views/web.configでそれを追加する必要があります。

<system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
      <add namespace="System.Web.Mvc" /> 
      <add namespace="System.Web.Mvc.Ajax" /> 
      <add namespace="System.Web.Mvc.Html" /> 
      <add namespace="System.Web.Routing" /> 
      <add namespace="YourNamespaceContainingTheHelperMethod" /> 
     </namespaces> 
    </pages> 
</system.web.webPages.razor> 
+0

そして私の友人は私の問題を解決しました。メインweb.configに追加していて、まったく動作しませんでした。 WebFormビューエンジンとRazorの両方で動作するようにNuGetパッケージに追加する方法を理解する必要がありますが、主な問題は解決しました。 :) ありがとう! –

5

カミソリは異なるconfigセクション

<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> 

<system.web.webPages.razor> 
    <pages pageBaseType="Foo.Bar"> 
     <namespaces> 
     <add namespace="Foo.FooBar" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 
関連する問題