首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionMailer.Net独立:没有为扩展“.cshtml”注册的构建提供程序。

ActionMailer.Net独立:没有为扩展“.cshtml”注册的构建提供程序。
EN

Stack Overflow用户
提问于 2012-07-21 06:41:48
回答 2查看 26.2K关注 0票数 13

我需要发送电子邮件从Windows和偶然遇到ActionMailer.net,一个模板电子邮件系统,可以使用在ASP.Net MVC应用程序或独立。

遵循独立教程

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

我正在创建一个视图。但是,当我在视图中输入任何文本时,它都是用蓝色拨动划线的。在蓝色拨动键上移动显示了工具提示中的错误消息:

没有为扩展“.cshtml”注册的构建提供程序,您可以在machine.config或web.config的<compilation><buildProviders>部分注册一个

似乎我错过了一步建立Razor的支持。

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-21 07:06:27

那只是个警告。当您运行项目时,您的项目将编译并运行得非常好。现在,为了在ASP.NET MVC应用程序之外获得Razor模板的工具支持,您可以查看以下博客文章

因此,要欺骗Visual的(愚蠢的) Intellisense,只需将一个web.config (耶,web.config)放在Windows项目的根目录中,内容如下:

代码语言:javascript
复制
<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。

票数 17
EN

Stack Overflow用户

发布于 2013-01-04 20:31:17

在根web.config文件中的system.web部分下添加以下代码块:

代码语言:javascript
复制
<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>
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11590052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档