• ベストアンサー

C#でコンパイルできない

Visual C# 2008 EXPRESS EDITONでコンソールアプリケーションを作成しています。 プログラム上の以下の行をコンパイルできません。 System.Windows.Forms.Clipboard.SetText(string); エラーメッセージは以下のとおりです。 型または名前空間名 'Windows' は名前空間 'System' に存在しません。アセンブリ参照が不足しています。 なお、フォームアプリケーションの作成においては、上記のエラーは発生しませんでした。参照ライブラリを加える必要があるのでしょうか?

noname#104144
noname#104144

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

MSDN: Clipboard クラス (System.Windows.Forms) http://msdn.microsoft.com/ja-jp/library/system.windows.forms.clipboard(VS.90).aspx の先頭に, >アセンブリ : System.Windows.Forms (System.Windows.Forms.dll 内) とあります。 なので,System.Windows.Forms.Clipboardクラスを利用するには,このSystem.Windows.Forms.dllへの参照を追加する必要があります。 Windows Formsアプリケーションの場合,標準でこのDLLへの参照が追加されますが,それ以外の場合は追加されません。 # 標準で追加されたらどう考えてもWPFとかASP.NETとかで面倒なことが起こる。

noname#104144
質問者

お礼

解決しました。ありがとうございました。

関連するQ&A

  • C#でSystem.IO.FileFormatEx

    VB2010で System.IO.FileFormatException をThrowしているコードがあります。 これをC#2010にコンバートしたのですが 上記箇所に於いて 型または名前空間名 'FileFormatException' は名前空間 'System.IO' に存在しません。アセンブリ参照が不足しています。 というエラーが出てしまいます。 何を参照設定すればよいのでしょうか。 またはこのような処理は不可なのでしょうか。

  • Visual C#で、usingが出来ないクラスがある?

    最近、Visual C# 2005 Express EditionでC#の勉強を始めた者です。 いくつかテストプログラムを実行しようと思ったのですが、JavaのEclipse等と操作感覚の違いに戸惑っています。 質問なのは、usingできるクラスについてです。 新しいプロジェクトを作成する時、「Windowsアプリケーション」を選択すると、次のusingが使えます。 > using System.Windows.Forms; しかし「コンソールアプリケーション」を選択した場合、上記のusingは使用できないのです。 ただ、プロジェクトの「参照設定」で.Netタブの「System.Windows.Forms」を追加すれば、一応使えるようになります。 考えてみたのですが、もしかしてプロジェクトを作成する時に選択する「Windowsアプリケーション」や「コンソールアプリケーション」は、参照設定に追加する内容が違うという事なのでしょうか? 一応使う事が出来るので、今の所は問題ではないのですが、付属のマニュアルを読んでも詳細が解りにくく困っています。 私の認識は間違っているのでしょうか?

  • C#でのコンパイル時のエラー

    「静的でないフィールド、メソッド、またはプロパティ 'System.Windows.Forms.Control.CreateGraphics()'で、オブジェクト参照が必要です。」というエラーが出てしまいました。どのような対処をしたらいいか教えてください。

  • C#でExcelを起動したい

    http://jeanne.wankuma.com/tips/csharp/excel/execute.html を参考に C#コードに // Excel.Application の新しいインスタンスを生成する Excel.Application xlApplication = new Excel.Application(); // Excel を表示する xlApplication.Visible = true; // 1000 ミリ秒 (1秒) 待機する System.Threading.Thread.Sleep(1000); // Excel を終了する xlApplication.Quit(); // COM オブジェクトの参照カウントを解放する (正しくは COM オブジェクトの参照カウントを解放する を参照) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApplication); を追加したのですが エラー CS0246: 型または名前空間名 'Excel' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 が出てしまいます。 以下の様にしているのですが、何のusingを追加すればよいのでしょうか? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace testproject { public partial class testproject: Form { public testproject() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // Excel.Application の新しいインスタンスを生成する Excel.Application xlApplication = new Excel.Application(); // Excel を表示する xlApplication.Visible = true; // 1000 ミリ秒 (1秒) 待機する System.Threading.Thread.Sleep(1000); // Excel を終了する xlApplication.Quit(); // COM オブジェクトの参照カウントを解放する (正しくは COM オブジェクトの参照カウントを解放する を参照) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApplication); ImageViewer imgViewer = new ImageViewer(); imgViewer.Show();

  • C#のコマンドラインの分割コンパイルと実行について

    コマンドラインでC#のプログラムをコンパイルと実行する方法 mainが1つでsubが1の場合は以下にある。 http://d.hatena.ne.jp/taka_2/20080124/p6 mainが1つでsubが2つの場合はコマンドはどうするか。 以下に使用したコマンドを示す csc /target:library sub1.cs csc /target:library sub2.cs csc /R:sub1.dll /R:sub2.dll main1.cs とすると error CS0246: 型または名前空間名 'sub1' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 のエラーメッセージが表示される。 わかっている方がおりましたら、教えて下さい。 以下にプログラムを示す。 //---------------------------------------------------------------------------- // mainファイルの内容 using System ; using System.Text; using System.IO; using sub1 ; // subの名前空間を指定(分割コンパイル用) using sub2 ; // subの名前空間を指定(分割コンパイル用) namespace main1 { class Program { static void Main(string[] args) { int a = 10 ; int b = 5 ; sub1.dfsub_cs1 df1 = new sub1.dfsub_cs1() ; // sub1のクラスを確保(分割コンパイル用) sub2.dfsub_cs2 df2 = new sub2.dfsub_cs2() ; // sub2のクラスを確保(分割コンパイル用) Console.Write("add {0,3:D} * {1,3:D} = {2,5:D}\n", a,b, df1.multiply( a, b) ); Console.Write("add {0,3:D} / {1,3:D} = {2,5:D}\n", a,b, df2.divide( a, b) ); return ; } } } //---------------------------------------------------------------------------- // sub1ファイルの内容 namespace sub1 { public class dfsub_cs1 { public int multiply(int a, int b ) { return a * b ; } } } //---------------------------------------------------------------------------- // sub2ファイルの内容 namespace sub2 { public class dfsub_cs2 { public int divide(int a, int b ) { return a / b ; } } }

  • C#でほかのファイルにある自作クラスを使用したい場合

    最近Javaから移ってきたばかりのC#初心者です。 依然作ったことのあるほかのファイルにある自作クラスを 新しいファイルの自作クラスで使用したい場合、どうすれば よいのでしょうか。 Form1.cs(8,7): error CS0246: 型または名前空間名 'Calc1' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 Form1.cs(12,19): error CS0246: 型または名前空間名 'Calc' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 上記のようなエラーが発生してしまいます。 なにとぞご助力をお願いいたします。

  • C#でコンパイルができない。

    C#のベータ版をセットアップして以下のサンプルプログラムを コンパイルしたところ、エラーがでました。何がいけないのでしょうか?OSはWin98です。 css001.cs(7,3): error CS0117: 'System.Console' does not contain a definition for 'Writeline' using System; プログラムリスト public class CSS001 { public static void Main(string[] args) { Console.Writeline("Hello World"); } }

  • C# のクリックイベント

    別のイベントからクリックイベントを発生させるのに Button1.PerformClick(); は、うまくいくのですが、 これがピクチャーボックスになったとき pictureBox1.PerformClick(); 下記のエラーが出てしまいます。 ピクチャーボックスのボタンクリックイベントを発生させる方法はないでしょうか? 'System.Windows.Forms.PictureBox' に 'PerformClick' の定義が含まれておらず、型 'System.Windows.Forms.PictureBox' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。

  • コンパイルエラー

    Access97にて作成したものがあるのですが、五回に一回は「コンパイルエラー」が表示されます。 毎回コードの参照設定にて「不参照」のチェックをはずしています。 何か良い方法はありませんでしょうか?

  • [C#]Win7で作ったツールがXPで動かない

    C#でツールを作り始めて間もないので、 初心者な質問かもしれませんが よろしくお願いします。 現在、ツールをWindows7で、visual C# 2010 expressで作成しています。 特にプロパティ的なのはいじらず、Windowsフォームアプリケーションで シコシコとツールを作っていました。 で、F6をクリックしてツール化したファイルを WindowsXPで動かそうと思っても動かない・・・ NET Flamework4は入れました。 違うパソコンのWindows7だとちゃんと動きます。 アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。「続行」をクリックすると、アプリケーションはエラーを無視し、続行しようとします。「終了」をクリックすると、アプリケーションは直ちに終了します。 と表示されて、エラーの詳細は、 以下のように出て、全然意味がわからないです。 解る方いましたが、ご教授お願いします。 =============== System.ArgumentOutOfRangeException: 長さを 0 未満にすることはできません。 パラメーター名: length 場所 System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) 場所 yahooauction.Form1.button6_Click(Object sender, EventArgs e) 場所 System.Windows.Forms.Control.OnClick(EventArgs e) 場所 System.Windows.Forms.Button.OnClick(EventArgs e) 場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 場所 System.Windows.Forms.Control.WndProc(Message& m) 場所 System.Windows.Forms.ButtonBase.WndProc(Message& m) 場所 System.Windows.Forms.Button.WndProc(Message& m) 場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** 読み込まれたアセンブリ ************** mscorlib アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.1 (RTMRel.030319-0100) コードベース: file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll ・・・・・(省略)・・・・・ =========================================

専門家に質問してみよう