2015-01-09 22 views
8

JSONファイルを読み込んで、ASP.NETt vNextアプリケーション内に保存する必要があります。dynamic変数を使用してJSON.netを使用してロードした値を保存しますasp.net vnextコアでダイナミックタイプを使用できません

ASP.NETコア5.0エラーCS1980:私はコンパイルに行くとき、私はこのエラーメッセージを受け取ったコンパイラ必要なタイプ'System.Runtime.CompilerServices.DynamicAttribute'が見つからないため'dynamic'を利用したクラスやメンバを定義することはできません。あなたは参照がありませんか?

どうすれば解決できますか? dynamicを使用している場合、ASP.NETコアを使用してアプリケーションを実行できますか?

答えて

5

aspnetcore50フレームワーク用にMicrosoft.CSharpとSystem.Dynamic.Runtimeパッケージを含める必要があります。

これはCoreCLRバージョン1.0.0-β1と私のために働くようだ:

using Newtonsoft.Json.Linq; 
using System; 

namespace DynamicTest 
{ 
    public class Program 
    { 
     public void Main(string[] args) 
     { 

      dynamic dobject = JObject.Parse("{number:1000, str:'string', array: [1,2,3,4,5,6]}"); 

      Console.WriteLine(dobject.number); 
      Console.WriteLine(dobject.str); 
      Console.WriteLine(dobject.array.Count); 
      Console.ReadLine(); 
     } 
    } 
} 

project.json

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
     "Newtonsoft.Json" : "6.0.7" 
    }, 
    "commands": { 
     "run" : "run" 
    }, 
    "frameworks" : { 
     "aspnet50" : { }, 
     "aspnetcore50" : { 
      "dependencies": { 
       "System.Console": "4.0.0-beta-22231", 
       "System.Dynamic.Runtime": "4.0.0-beta-22231", 
       "Microsoft.CSharp": "4.0.0-beta-22231" 
      } 
     } 
    } 
} 
+0

ありがとう、私のためにも働くようです。 –

2

私もあまり有用でエラーと一緒に、この問題を戦っていましたメッセージ...

名前空間 'Linq'が 'System.Data'という名前空間に存在しません。

しかし、私は私のIIS Server(2012 R2 - IIS 8)の問題にぶち当たっていました。私がこれらの問題について読んだ記事のほとんどは、Webサーバーではなく開発環境を扱っていました。

両方の問題を解決するために、サーバーフレームワークフォルダ(%windows path%\ Microsoft.Net \ Framework \ v4.0.30319)からSystem.Core.dllをコピーして、Webアプリケーションのbinフォルダにコピーする必要がありました。

私はこれがなぜ必要なのかはっきりしませんが、ドキュメンテーションやフォーラムの投稿を通して3日間の読書をしましたが、何も問題はありませんでした。私たちはちょうど幸運を得ました...

多分これは苦労している他の人を助けるでしょう。

関連する問題