J'ai utilisé pour la première fois Excel pour lire des données en c # avec Selenium WebDriver, mais lorsque je construis ce code, une erreur s’affiche:
"Compilateur manquant requis membre 'Microsoft.csharp.runtimebinder.binder.convert'"
et le code d'utilisation d'Excel est marqué en rouge ci-dessous:
Excel.Application x1Appl = new Excel.Application();
Excel.Workbook x1WorkBook = x1Appl.Workbooks.Open(@"C:\app\o\SearchBy.xlsx");
Excel._Worksheet x1WorkSheet = x1WorkBook.Sheets[1];
S'il vous plaît laissez-moi savoir ce qui manque? Je vous remercie!
Les assemblys de référence pour Office sont exposés via le type de retour dynamic
. Pour pouvoir compiler, vous devez ajouter une référence à Microsoft.CSharp.dll
.
En plus des propos de @Alex Ghiondea, consultez la section références de votre projet:
Faites un clic droit sur les références et vérifiez les options proposées.
J'utilise Visual Studio 2017 version 15.7.1 (je ne suis pas sûr que cela compte ou non, mais cette erreur semble avoir été corrigée après la mise à jour). J'ai eu un projet qui ciblait .NET Framework 3.5. Ainsi, en plus des autres réponses fournies pour l'ajout de Microsoft.CSharp, je devais mettre à jour ce projet vers .NET Framework 4.5, puis Microsoft.CSharp est apparu sous Assemblées lorsque j'ai ajouté la référence. Avant cela, je devais trouver le chemin absolu vers la DLL, qui ne semblait pas fonctionner.
Pour ceux qui ne peuvent pas passer à la version 4.5, vous pouvez essayer de définir FalseInteropTypes sur False pour toutes les références d'interopérabilité de votre fichier csproj, comme indiqué ici: http://answers.flyppdevportal.com/MVC/Post/Thread/b1554cdd- ad9e-4453-b4d6-8eb03da175ea? category = visualstudiogeneral
Si votre projet cible .Net Core ou .Net Standard, l'installation du package Microsoft.CSharp NuGet résoudra cette erreur.