我试图在C#.net核心应用程序中使用dynamic
变量,该应用程序的目标是.net标准1.6。 (平台?库?框架?元框架?)我在实际应用程序中首次遇到此问题,但我已将其减少到最小的再现。
{
"version": "1.0.0-*",
"buildOptions": { "emitEntryPoint": true },
"dependencies": { "NETStandard.Library": "1.6.0" },
"frameworks": {
"netstandard1.6": { "imports": "dnxcore50" }
},
"runtimes": { "win10-x64": {} }
}
using System;
public class Program {
public static void Main(string[] args) {
dynamic hello = "hello world";
Console.WriteLine(hello);
}
}
当我尝试构建此内容时,我在Console.WriteLine(hello);
上发现了构建错误。
CS0656缺少编译器所需的成员' Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'
是否可以在面向netstandard 1.6的应用中使用dynamic
个变量?怎么样?
答案 0 :(得分:40)
答案 1 :(得分:21)
答案 2 :(得分:5)
如果您正在编写应用程序而不是库,则应使用Microsoft.NETCore.App
,而不是NETStandard.Library
和netcoreapp1.0
,而不是netstandard1.6
。这样做可以解决您的问题。
如果要在库(或不依赖dynamic
的应用程序)中使用Microsoft.NETCore.App
,则需要添加Microsoft.CSharp
作为依赖项。