web-dev-qa-db-ja.com

コンパイルするためにこれらのパッケージをMonoで参照する方法

次のように、コマンドラインでDebian上でMonoを使用してC#スクリプトをコンパイルしようとしています。

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

これらは、Main.csの上部にある参照です。

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;

-pkg:whateverを追加して、どのライブラリを含めるかをMonoに指示する必要があることを理解しています。私の問題は、これらのライブラリの名前がわからないため、それらを含めるためにどのコマンドが使用されているかがわかりません。実際、これらのライブラリをどこからダウンロードする必要があるのか​​、Monoに付属しているかどうかもわかりません。

最後の2つはiTextSharpライブラリであることにも注意してください。このライブラリでは、他に何をすべきかわからないため、itextsharp.dllをスクリプトと同じディレクトリに配置しています。

ファイルをコンパイルする方法を誰かに説明してもらえますか?

33
Alasdair

これを試して:

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

新しいバージョンのモノで、これを試してください。

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

これは私がこのエラーを受け取った同様のケースで私のために働いた別の解決策です:

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; 

私は buntuforums から解決策を得ました:

 gmcs -pkg:dotnet *.cs
6
milia

このエラーが発生し、System.Net.Httpを使用する必要があるとき、次のように使用しました。

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

そしてそれは私にとってはうまくいきました。 System.Net.Http.dllへのフルパスを含めようとしたところ、機能しませんでした。つまり、モノはパスを追跡し続けます。また、最新版のモノがあります。

0
Max