使用 VS2015 .net 4.51 时出现意外的 Razor 编译错误:找不到 Google 命名空间

Unexpected Razor compilation error using VS2015 .net 4.51: Google namespace not found

错误是:

error CS0246: The type or namespace name 'Google' could not be found (are you missing a using directive or an assembly reference?)

它发生在呈现以

开头的模板文件时
@using Google.Apis.Requests
@using Google.Apis.Calendar.v3.Data;

@model Google.Apis.Calendar.v3.Data.Events

它是在我使用 Nuget 包将 Google.Client.Api 程序集从 1.9.3 更改为 1.10 后出现的。 项目中引用了所有必需的 Google 程序集。

奇怪的是 VS intellisense 完美地看到了命名空间并且可以打开事件 class。并且所有的 c# 代码都可以正常编译。

我终于找到了一个解决方案,这是一个 web.config 问题,我不得不插入 Googles APIs

<system.web>
<compilation targetFramework="4.5.1">
  <assemblies>
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.Web.Mvc, Version=5.2.3, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <add assembly="Google.Apis, Version=1.10.0.25332, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab" />
    <add assembly="Google.Apis.Core, Version=1.10.0.25331, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab" />
    <add assembly="Google.Apis.Calendar.v3, Version=1.10.0.157, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab" />
    <add assembly="Orchard.Framework"/>
    <add assembly="Orchard.Core"/>
  </assemblies>
</compilation>