2017-01-03 1 views
0

Pour un projet scolaire, j'écris un programme qui utilise des fichiers texte très volumineux (des centaines de Go). J'ai utilisé bash split pour les diviser en morceaux gérables (2 Go) puis les compresser via bash avec Bzip2. J'ai besoin de les extraire un à la fois sur le disque puis les ouvrir en tant que tableau pour l'analyse. Le problème que je rencontre est en utilisant SharpZipLib. Je n'utilise pas d'IDE en tant que tel, et je suis en train d'exécuter une solution de fichier source unique qui est compilée par l'intermédiaire de mcs de Mono et/ou de csc.exe de .NET. J'ai installé la variante de ligne de commande et la variante de bash de Nuget, puis nuget install SharpZipLib qui a indiqué qu'il a été installé avec succès sur les deux systèmes. J'ai essayé un using ICSharpCode.SharpZipLib.Core; mais cela a jeté une erreur en disant que ICSharpCode n'existe pas. La seule documentation que je peux trouver implique des projets Visual Studio ou Xamarin, que je n'utilise pas. Comment puis-je utiliser le SharpZipLib dans ce fichier? Peut-être plus précisément, comment puis-je "informer le compilateur" de la bibliothèque? Sinon, existe-t-il une meilleure solution pour mon cas d'utilisation?Comment utiliser SharpZipLib dans une solution de fichier unique?

+1

Pouvez-vous fournir la hiérarchie de votre dossier de projet? Généralement, Nuget s'installe dans un projet. D'une manière ou d'une autre, il vous manque la référence à SharpZib. En conséquence, la ligne de commande Nuget n'informe pas le compilateur ou le projet de la nouvelle dépendance. Vous devrez le faire vous-même. https://docs.nuget.org/ndocs/tools/nuget.exe-cli-reference#install –

+0

@JoshuaLeonard J'ai une approche de fichier unique pour ce projet. Dans le dossier j'ai processing.cs et processing.exe, ainsi que les fichiers .bz2. –

+1

Je pense que cela peut vous aider à ajouter les références. Est-ce que ça marche pour toi? http://stackoverflow.com/questions/10559125/how-to-use-references-when-compiling-c-sharp-code-via-command-line –

Répondre

0

Ok. Pour Mono (mcs) la façon de le faire fonctionner est la suivante: mcs file.cs -r:ICSharpCode.SharpZipLib.dll après avoir déplacé le fichier .dll correct dans le dossier du projet. Pour .NET (csc.exe), il semble que ce soit les mêmes étapes mais csc.exe filename.cs /t:ICSharpCode.SharpZipLib.dll