我正在使用Visual Studio 2017 RC并启动了一个针对完整.NET Framework的新ASP.NET Core项目。
这行代码无法编译。
dynamic handler = _container.GetService(handlerType);
if (handler == null) _logger.LogError("Can't find handler to handle " + cmd.GetType().Name);
我收到以下错误
CS0656 Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'
经过一些谷歌搜索,看起来这是因为我错过了Microsoft.CSharp程序集。有很多人偶然发现了他的问题,但似乎没有使用.NET Core 1.1。
所以我做了这个Install-Package Microsoft.CSharp
并获得了4.3.0版本。我的项目仍然没有建成。
如果我将程序集引用添加到Microsoft.CSharp(GAC' d版本),那么它将编译并运行。
这是一个Bug吗?我原本期望NuGet包能解决这个问题吗?
答案 0 :(得分:5)
只需添加Microsoft.CSharp.dll的引用,您的错误就会被删除。
答案 1 :(得分:4)
我遇到了这个问题。我为我解决了这个问题。
您必须从 nuget 将 Microsoft.CSharp
库安装到您的解决方案中。
您可以使用 Package Manager Console 来安装 Microsoft.CSharp。例如如果你想安装 Microsoft.CSharp 4.7.0 版本,你必须在包管理器控制台上运行这个命令:
Install-Package Microsoft.CSharp -Version 4.7.0
Nuget 链接:Microsoft.CSharp