2012-07-21 22 views
12

Windowsサービスから電子メールを送信する必要があり、ASP内で使用できるテンプレート電子メールシステムActionMailer.netが届きました。ネットMVCアプリケーションまたはスタンドアロンActionMailer.Netスタンドアロン:拡張子 '.cshtml'の登録プロバイダがありません

スタンドアロンチュートリアル

http://geeksharp.com/2011/07/06/actionmailer-0-6-released/

後、私はビューを作成してい時点でです。ただし、ビューにテキストを入力すると、青い波線で下線が引かれます。

拡張のために登録されたビルドプロバイダがありません「.cshtml」あなたがのmachine.configまたはweb.configファイル

<compilation><buildProviders>セクションに1を登録することができます:青の波線がツールチップにエラーメッセージを明らかにマウスを重ねます

私は、かみそりのサポートを設定するステップがありません。

私には何が欠けていますか?

答えて

16

これは単なる警告です。プロジェクトを実行すると、プロジェクトはコンパイルされ、正常に動作します。 ASP.NET MVCアプリケーションの外でRazorテンプレートのツーリングをサポートするには、following blog postをご覧ください。

だから、カンニングするには、Visual Studioの(愚か)のIntellisenseは、単に以下の内容で、あなたのWindowsサービスプロジェクトのルートにあるweb.config(ええweb.configファイル)をドロップします。実行時に

<configuration> 
    <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> 
    <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" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

    <system.web> 
    <compilation targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     </assemblies> 
    </compilation> 
    </system.web> 
</configuration> 

それは絶対に不要であり、もちろん効果はありません(あなたのアプリケーションは以前も同様に動作していました)。 VSをトリックして、これがWebアプリケーションであり、Intellisenseを提供すると考えることになります。

+0

あなたは私のクラスライブラリプロジェクトに上記の内容で提案するように私は、新しいweb.configファイルを追加した、しかし私は、まだインテリセンスを得ていない。あなたはそうだけど、そうでなければすべてが機能しているのは正しいです。新鮮な目で午前中に再び見えます... –

+0

剃刀の眺めを閉じて再度開く必要があるかもしれません。多分VSなどを再起動してください。私にとっては、それはVSで.cshtmlファイルを閉じて開くだけで動作しましたが、誰が知っていますか。 –

+0

VSのクローズと再オープンは動作しませんでした:-( –

13

system.webセクションの下にルートweb.configファイルに次のコードブロックを追加します。

<compilation debug="true" targetFramework="4.0" > 
    <!-- In order to provide MVC Intellisense support during developement--> 
    <assemblies> 
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    </assemblies> 
</compilation> 
関連する問題