【问题标题】:cannot use dynamic type with asp.net vnext core不能将动态类型与 asp.net vnext 核心一起使用
【发布时间】:2015-03-07 09:32:57
【问题描述】:

我需要在 ASP.NETt vNext 应用程序中读取并保存 JSON 文件,我想使用 dynamic 变量来存储使用 JSON.net 加载的值,但是当我去编译时,我收到了这个错误信息:

ASP.NET Core 5.0 错误 CS1980:无法定义使用 'dynamic' 的类或成员,因为找不到编译器所需的类型 'System.Runtime.CompilerServices.DynamicAttribute'。您是否缺少参考资料?

如何解决这个问题?如果我使用dynamic,我可以使用 ASP.NET core 运行应用程序吗?

【问题讨论】:

    标签: c# json.net asp.net-core


    【解决方案1】:

    您需要为 aspnetcore50 框架包含包 Microsoft.CSharp 和 System.Dynamic.Runtime。

    这似乎适用于 CoreCLR 版本 1.0.0-beta1:

    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();
            }
        }
    }
    

    项目.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"
                }
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      我正在解决这个问题,还有一条更不实用的错误消息...

      命名空间“System.Data”中不存在类型或命名空间名称“Linq”

      但是,我在 IIS 服务器 (2012 R2 - IIS 8) 上遇到了问题。我读到的大多数关于这些问题的帖子都是针对他们的开发环境,而不是他们的 Web 服务器。

      为了解决这两个问题,我必须将 System.Core.dll 从服务器框架文件夹 (%windows path%\Microsoft.Net\Framework\v4.0.30319) 复制到我的 Web 应用程序 bin 文件夹中。

      我不清楚为什么这是必要的,但我花了 3 天时间阅读文档和论坛帖子,但没有任何效果。我们很幸运...

      也许这会帮助其他正在苦苦挣扎的人。

      【讨论】:

        猜你喜欢
        • 2018-07-17
        • 1970-01-01
        • 2016-03-28
        • 1970-01-01
        • 2018-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-16
        相关资源
        最近更新 更多