[英]Problems embedding IronPython in C# (Missing Compiler required member 'Microsoft.CSharp.RuntimeBinder.Binder.InvokeMember'
[英]Missing compiler required member 'microsoft.csharp.runtimebinder.binder.convert'
我第一次使用 Excel 用 Selenium WebDriver 读取 c# 中的数据,但是当我构建这段代码时,它弹出一个错误:
“缺少编译器所需的成员‘microsoft.csharp.runtimebinder.binder.convert’”
使用excel的代码如下红色标注:
excel.Application x1Appl = new excel.Application();
excel.Workbook x1WorkBook = x1Appl.Workbooks.Open(@"C:\app\o\SearchBy.xlsx");
excel._Worksheet x1WorkSheet = x1WorkBook.Sheets[1];
请让我知道缺少什么? 谢谢!
Office 的引用程序集通过dynamic
返回类型公开。 为了能够编译,您需要添加对Microsoft.CSharp.dll
的引用。
如果您的项目面向 .Net Core 或 .Net Standard,则安装Microsoft.CSharp NuGet 包将解决此错误。
我正在使用 Visual Studio 2017 版本 15.7.1(不确定这是否重要,但在我更新后似乎出现了此错误)。 我有一个针对 .NET Framework 3.5 的项目。 因此,除了为添加 Microsoft.CSharp 提供的其他答案外,我还需要将此项目更新到 .NET Framework 4.5,然后当我添加引用时,Microsoft.CSharp 出现在程序集下。 在此之前,我不得不找到DLL的绝对路径,这似乎不起作用。
对于无法升级到 4.5 的用户,您可以尝试将 csproj 文件中所有互操作引用的 EmbedInteropTypes 设置为 False,如下所示: http ://answers.flyppdevportal.com/MVC/Post/Thread/b1554cdd-ad9e- 4453-b4d6-8eb03da175ea?category=visualstudiogeneral
右键单击项目名称(在解决方案资源管理器中),在程序集中添加引用:Microsoft.CSharp,然后再次右键单击并清理。 仅此而已。
我也有这个问题。 如果您右键单击并选择“属性”(突出显示项目时),则会有一个复选框显示:自动生成绑定重定向。 这为我修好了。
我使用的是 Visual Studio 2017,它是一个 C# 类库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.