Подтвердить что ты не робот

Как ссылаться на эти пакеты с Mono для компиляции

Это вопрос новичков, я пытаюсь скомпилировать script кого-то другого, пожалуйста, не кусайте меня. Я пытался сделать это в течение 3 дней и искал везде, поэтому, пожалуйста, помогите, если сможете.

Я пытаюсь скомпилировать С# script с Mono в Debian по командной строке, например:

gmcs Main.cs

Однако я получаю следующую ошибку:

Main.cs(6,14): error CS0234: The type or namespace name `Drawing' does not exist in the namespace `System'. Are you missing an assembly reference?
Main.cs(7,14): error CS0234: The type or namespace name `Drawing' does not exist in the namespace `System'. Are you missing an assembly reference?
Main.cs(12,7): error CS0246: The type or namespace name `iTextSharp' could not be found. Are you missing a using directive or an assembly reference?
Main.cs(13,7): error CS0246: The type or namespace name `iTextSharp' could not be found. Are you missing a using directive or an assembly reference?
Main.cs(1526,31): error CS0246: The type or namespace name `Bitmap' could not be found. Are you missing a using directive or an assembly reference?
Main.cs(6,14): error CS0234: The type or namespace name `Drawing' does not exist in the namespace `System'. Are you missing an assembly reference?
Main.cs(7,14): error CS0234: The type or namespace name `Drawing' does not exist in the namespace `System'. Are you missing an assembly reference?
Main.cs(12,7): error CS0246: The type or namespace name `iTextSharp' could not be found. Are you missing a using directive or an assembly reference?
Main.cs(13,7): error CS0246: The type or namespace name `iTextSharp' could not be found. Are you missing a using directive or an assembly reference?
Compilation failed: 9 error(s), 1 warnings

Имейте в виду, что этот script не был написан мной, я не понимаю С#, и я понятия не имею, что я делаю...

В любом случае, эти ссылки в верхней части Main.css:

using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using iTextSharp.text;
using iTextSharp.text.pdf;

Я понимаю, что я должен сказать Mono, какие библиотеки включать, добавив -pkg:whatever. Моя проблема в том, что я не знаю, что эти библиотеки вызывают, поэтому я не знаю, какая команда используется для их включения. На самом деле, я даже не знаю, нужно ли мне где-то загружать эти библиотеки или поставляться с Mono.

Заметим также, что последние 2 являются библиотекой iTextSharp, для которой у меня есть itextsharp.dll, только что помещенный в тот же каталог, что и script, так как я не знаю, что еще с ним делать.

Пожалуйста, объясните мне, как получить эту проклятую вещь!

Надеюсь, я правильно объяснил свою проблему, если не сообщите мне.

Спасибо.

4b9b3361

Ответ 1

Попробуйте следующее:

gmcs /reference:System.Drawing.dll /reference:itextsharp.dll Main.cs

С более новыми версиями mono попробуйте это.

mcs /reference:System.Drawing.dll /reference:itextsharp.dll Main.cs

Ответ 2

Здесь другое решение, которое работало для меня в аналогичном случае, когда я получил эту ошибку:

Eventdemo.cs(2,14): error CS0234: The type or namespace name `Drawing' does not exist in the namespace `System'. Are you missing `System.Drawing' assembly reference?
Eventdemo.cs(3,14): error CS0234: The type or namespace name `Windows' does not exist in the namespace `System'. Are you missing an assembly reference?                           │
Eventdemo.cs(8,19): error CS0246: The type or namespace name `Form' could not be found. Are you missing an assembly reference?  

У меня были эти ссылки в моей программе:

using System;
using System.Drawing;
using System.Windows.Forms; 

Я получил решение от ubuntuforums:

 gmcs -pkg:dotnet *.cs

Ответ 3

Я получил эту ошибку, и когда мне просто нужно было использовать System.Net.Http, я использовал:

$mcs /reference:System.Net.Http.dll Program.cs

и это сработало для меня. Когда я попытался включить полный путь к System.Net.Http.dll, это не сработало. То есть, хедз-ап, моно отслеживает пути. Кроме того, у меня есть последняя версия моно.