4

私の CS ファイルでは、次を実行していますが、期待どおりに動作します。

using System.Web.Helpers;
String json = System.Web.Helpers.Json.Encode(null);

ただし、私の CSHTML ファイルでは、次を実行しています。ここでは、Jsonがコンテキストで認識されないというエラーが表示されます。

@{ Layout = null; }
@using TestService.ServiceReference;
@using System.Web.Helpers;
<!DOCTYPE html>
<html>
...
<script type="text/javascript">
  var output3 = "! @Html.Raw(Json.Encode(ViewBag.MyArray))";
...

それはどのように説明/修正できますか?グーグルは私にnada、zero、ziltchを与えました...

編集

提案どおりにアセンブリタグを CONFIG ファイルに追加しましたが、エラーは構成に不明であるというものです。これは私の(ルート)CONFIGがどのように見えるかです。

<system.web>
  <compilation debug="true" targetFramework="4.0" />
  <assemblies>
    <add assembly="System.Web.Helpers, Version=2.0.0.0, 
                  Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
  ...

ただし、代わりにCONFIGファイルに次のものが含まれていることに気付きました。同等だとおもいます。それは...ですか?

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
4

2 に答える 2

1

プロジェクトで参照System.Web.Helpersしていることを確認し、「ローカルにコピー」をtrueに設定してください

于 2013-11-04T11:13:45.650 に答える