VSexpress2010でソースコードのビルドができない理由と解決方法

このQ&Aのポイント
  • Visual Studio Express 2012 for Desktop C# でプログラミングを学習していますが、ウェブページからコピペしてきたソースコードがビルドできません。
  • ビルドエラーが発生する理由は、おそらくコピーしたソースコードがASPなどを利用しているためです。
  • .NETアセンブリへの参照を追加することで問題を解決することができます。具体的な手順としては、プロジェクトのメニューから「新しいデータソースの追加」を選択し、System_Windows_Formsを参照に追加します。
回答を見る
  • ベストアンサー

VSexpress2010で参照を追加する

Visual Studio Express 2012 for Desktop C# で プログラミングを学習していますが、 ウェブページからコピペしてきた多くのソースコードが (using からソースのままなのに)ビルドできません。 おそらくソースコードがASPなどを 用いているから?だと思うのですが、 プロジェクト→新しいデータソースの追加→オブジェクト からSystem_Windows_Formsを参照しようとしても ".NETアセンブリへの参照を追加してください"と メッセージが出て追加できません。 そこで質問ですが、.NETアセンブリは どうやって、どのファイル?を参照に追加すればいいのでしょうか。 プログラミングについて疎く、 文章があってるかどうか わかりませんが、よろしくお願いします。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

少なくとも、そのプログラムにASPは関係ありません。 > "プロジェクト→参照の追加"からSystem.Windows.Formsを追加しようとした 具体的にどのように操作したのでしょう? 追加の画面の「.NET」から「System.Windows.Forms」を選んで追加 としましたか?何かのDLLファイルを直接指定するようなことはしていませんか? また、そのプロジェクトはどうやって用意しましたか? Windowsフォームプロジェクトを最初から選べば、参照も元から追加されているはずです。 > どの語を使うときusingを追加するか、とか記述規則など、本当は手順を踏んで学習していきたいのですが、 > そういったことが掲載されていて なおかつ理解できる書籍やサイトがない VSに付属のヘルプや、MSDNのサイトがありますが。 例えば、 Point でエラーになる件ですが、 .NET Frameworksの Point を検索すると http://msdn.microsoft.com/ja-jp/library/system.drawing.point%28v=vs.110%29.aspx が見付かります。4.5のものは今現在は機械翻訳のもので、ちょっとあやしい日本語になっていますので英語で読むのがよいでしょう。 また、過去のバージョンの資料も読めます。例えば3.5なら http://msdn.microsoft.com/ja-jp/library/system.drawing.point%28v=vs.90%29.aspx です。 で、マニュアルですが、必ず次のような記述があります > 名前空間 : System.Drawing > アセンブリ : System.Drawing (System.Drawing.dll 内) usingに使うのは「名前空間」です。usingで使わないなら、 System.Drawing.Point のようにして使います。 アセンブリは、参照に追加しなければならないものです。 > 当面の目標は、特定のウェブページからキーワードを拾ってExcelに出力することで、 > そのためにマウスの右クリックなどをプログラムから使いたいと思っています。 どんなことを目指しているのか、ちょっとよくわかりません。 もし、「IEの画面にマウスを移動させて右クリック→コピー」をプログラムから行いたい、ということなら、 UWSCのような自動操作用ツールを使うのが楽です。逆にC#でどこまでできるか不明です。 データが欲しいだけなら、直接ダウンロードしてHTMLを解析して必要な部分を抜き出す、という方法もあります。 これらは「ウェブスクレイピング」(あるいは単にスクレイピング)と呼ばれるものです。 http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0

maidara
質問者

お礼

Microsoftのページは時々見ていましたが 改めて探ってみてプログラミングガイドの存在に 今更気づきました。 これなら理解できそうで、内容も豊富なので読んで勉強します。 作ろうとしていたマウスの動作は、プログラムとツールを 組み合わせて望むものができました。 ですので、質問を締め切ることにします。 おかげさまでとても助かりました。ありがとうございました。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

あなたは、何をするために、何をしようとしているのですか? それがまったく不明なので、回答のしようがありません。 > ウェブページからコピペしてきた多くのソースコードが > (using からソースのままなのに)ビルドできません。 どう「ビルドできません」なのでしょう? エラーメッセージを読んで、何が原因なのかをはっきりさせましょう。 コピペして動いた動かない、だけでは、ただの「作業」です。 中身を確認し、理解するのが勉強です。 単純に、コピペミスで、余計な文字が入っていたり、必要な部分が切れてしまっただけかもしれません。 コピペは正しいとしても ・それ単独で動作するプログラムではない。それを呼び出す別のコードが必要 ・元々のコードにミスがあるので、コピペしても動かない ・4.5用なので2010では対応していない 等々と「ビルドできない」「動かない」原因は沢山考えられ、それぞれに対策が違います。 > おそらくソースコードがASPなどを > 用いているから?だと思うのですが 「おそらく」ではなく、ちゃんとした根拠で結論を出してください。 > プロジェクト→新しいデータソースの追加→オブジェクト http://msdn.microsoft.com/ja-jp/library/w4dd7z6t%28v=vs.100%29.aspx これは、データベースやその他の「データ」に接続するための方法です。 ASPとは基本的に関係ありません。 そもそもあなたの目的は「データベース等に接続する」ことですか? ビルドに必要なライブラリが参照されていない場合は、こちらです http://msdn.microsoft.com/ja-jp/library/wkze6zky%28v=vs.100%29.aspx これもやたらと「追加」したらいいというものではありません。 下手に追加すると、ライブラリ同士が衝突してかえってエラーを増やしてしまうこともあります。

maidara
質問者

お礼

早速の回答ありがとうございます。 おっしゃるとおり、私の質問文は要領を得なかったようですので、 補足を入れます。

maidara
質問者

補足

マウスをプログラム上の記述どおりに操作するプログラムを作ろうとしています。 そこでとりあえずマウスのX,Y座標を取得するプログラムを試しています。 コピペではなくなってしまいましたが、↓がProgram.csの全文です。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Diagnostics; //inputidle動作 namespace st6 { public class ProcessStart { static void Main() { int X = System.Windows.Forms.Cursor.Position.X; // X 座標 の取得      int Y = System.Windows.Forms.Cursor.Position.Y; // Y 座標 の取得 Point pos = new Point(100, 250); System.Windows.Forms.Cursor.Position = pos; // 座標(100, 250)に設定 } } } 今出ているエラーは↓です。(Main中の各行について) -------------------- 型または名前空間名 'Forms' は名前空間 'System.Windows' に存在しません。アセンブリ参照が不足しています。 型または名前空間名 'Point' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 -------------------- System.Windows.Forms.を参照に加えれば前者のエラーは取り除けるのではないかと考え、 "プロジェクト→参照の追加"からSystem.Windows.Formsを追加しようとしたものの、 ".NETアセンブリへの参照を追加してください"とメッセージが出て追加できないので行き詰っています。 追記: どの語を使うときusingを追加するか、とか記述規則など、本当は手順を踏んで学習していきたいのですが、 そういったことが掲載されていて なおかつ理解できる書籍やサイトがないので、 動作するプログラムの内容を解読して理解しようとしている次第です。 当面の目標は、特定のウェブページからキーワードを拾ってExcelに出力することで、 そのためにマウスの右クリックなどをプログラムから使いたいと思っています。 もしこの目的に叶う、推奨する本やURLがありましたら教えていただけませんか。

関連するQ&A

  • VC#での参照の追加が上手くいきません

    VC#でアドインを作ろうとしているのですが、「プロジェクト→参照の追加」でCOMコンポーネントの追加が上手くいきません。 例えば、 Microsoft Outlook 11.0 Object Library を追加すると ソリューション エクスプローラの参照設定に"Outlook"が追加はされるのですが、アイコンに!マークが付いていて、クリックすると 「利用可能でないか、またはビルトされてないため、このオブジェクトをオブジェクトブラウザで表示することができません。プロジェクトが利用可能でビルトされていることを確認してください。」 という警告が出ます。 参照の追加をするにあたって、他に何か事前にやっておくことが有るのでしょうか? ちなみに、こちらの環境は Visual Studio 2005 Standard SP1 Microsoft Office 2003 SP3 Internet Explorer 7.0 Windows XP SP2

  • 「参照設定」で参照が追加できない

    Visual Studio 2005 「参照設定」から参照の追加が選択できない 「ソリューションエクスプローラ」の「プロパティページ」アイコンをクリックして表示されるプロパティページから参照の追加をしようとしています。 「参照の追加(D)」をクリックして「.NET」タブをクリックし、追加したいコンポーネント名を選択して「OK」をクリックすれば追加されるものと思っておりますが、何度やっても追加されません。 「更新」ボタンをクリックしても追加されません。プロパティページを「OK」ボタンをクリックして閉じ、「すべてを保存」をクリックしてVisualStudioを再起動しても追加されていません。 参照の設定を追加するために、別の設定が必要なのでしょうか。 また、「ソリューションエクスプローラ」から参照設定を確認しようと試みましたが、「全てのファイルを表示」アイコンがグレーになっており、クリックできません。 画面左上の「Webサイト」タブにある「全てのファイルを表示(O)」もグレーの状態でクリックできないため、参照設定の確認ができません。 参照設定するためにしなければならないことがあれば教えてください。 またこのような場合の解決策があれば教えてください。 どうぞよろしくお願いいたします。 環境 Windows XP Professional Edition Visuak Studio 2005 ASP.net 2.0 IIS 5.1

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

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

  • dxx - 更新しています。   ビルドしても変わっていない

    はじめまして。プログラミング初心者です。 Visual C++.NET でwindowsプログラミングをしているんですが、「ソリューションのビルド」をすると ------ ビルド開始 : プロジェクト : dxx, 構成 : Debug Win32 ------ dxx - 更新しています。 ---------------------- 終了 ---------------------- ビルド : 1 正常終了、0 失敗、0 スキップ とだけでて、ソースを書き換えたのに前のと変わっていないんです。 どうしたらちゃんと更新されるんでしょうか・・ 教えてください。宜しくお願いします。

  • オブジェクト参照エラーについて

    http://uchukamen.com/Programming1/WebBrowser/index.htm こちらのページのソースコードを基にして、C#2005でブラウザを作っています。 設定画面を作るためにForm2を呼び出そうとしていますが旨くいかず、検索を重ねても解決法がわかりません。 1. ソリューションエクスプローラから追加→新しい項目で、Windowsフォームを追加(Form2.csが新しくできる) 2. 「static void Main() {」の次に  「Browser.Form2 Form2 = new Browser.Form2();」を追加 3. Form1のツールバーに項目1を1つ追加 →クリックされたときに「Browser.Form2.ShowDialog();」 ビルドすると「Browser.Form2.ShowDialog();」に下線を引かれて "静的でないフィールド、メソッド、プロパティ'System.Windows.Forms.Form.ShowDialog()'でオブジェクト参照が必要です。" と帰ってきます。 ご教授いただけると大変幸いです。 ちなみに私のプログラミング知識についてはPerlでCGIを少し自作できる程度です。

  • msimg32.libファイルをリンカにインポート? (初心者です

    初めまして。独学でwindowsプログラミングを学習しているものです。 ビットブロックを転送する方法をいまやっているのですが、TransparentBlt関数を使うと 「未解決のシンボル _imp_TransparentBlt@44 が関数 _WindowPorc@16で参照されました。」 「外部参照 1 が未解決です」 と出ます。 最初は自分のソースが間違ってるのかな・・って思って、本に付属していたCD-ROMのソースをそのままコピペしてビルドしたのですが、結果は同じでした。 本に、「開発環境の設定によってはmsimg32.libファイルをリンカにインポートする必要があります。msimg32.libを設定に追加してください」 と書いてあって、ビルドできないのはそれが原因なのかな・・ って思い、設定に追加しようと思ったんですが、追加の仕方が分かりません。 自分なりにインターネットで調べたり、過去の質問を検索してみたりしたんですが、分かりませんでした。 msimg32.libファイルをリンカの設定に追加する方法を教えてください。 ちなみに環境はWindowsXP HomeEdition Visual Stdio.NET 2003  です

  • VisualStudio2005

    .NETのアセンブリって C:\windows\assembly\ のところを開くと、あると思うのですが、そこをエクスプローラーで開くと表示されているけど、VBならImports、C#ならusingでnamespaceを指定できないのですが、私の考えが間違っているのでしょうか? C:\windows\assembly\ のところがGACで、あそこにいろいろなバージョンのファイルがおけるて、あそこにあれば、Importsなりusingで指定できると思っていたのですが違うのでしょうか? プロジェクトの参照の追加で指定しようとしても、上記のところのは指定できず、ほかのフォルダにあるファイルでないと指定できないのです。 お分かりになる方よろしくお願いします。

  • Visual C++ 2010 について

    プログラミングを始めようとVisual C++ 2010をインストールしました。 さっそく新規作成→プロジェクト→全般→空のプロジェクト→Sample01でファイルを作りました そのあと追加→新しい項目→コード→C++ファイル→Sample01.cとしてソースコードを次のように入力しました #include <stdio.h> {    int main(void) printf("ようこそ"\n"); return 0: } このあとソリューションのビルドをしてからデバック開始をしたら、一瞬コマンドプロンプトが開いたと思ったらすぐ閉じてしまいます。 学校の課題をやりたいの出来ません 泣 回答よろしくおねがいします!!

  • すっごく困ってます(プログラミング超初心者)Visual Studioについて

    情報学科じゃないのですが、大学の授業でC言語を取っていて明日がレポートの締切日です。 授業では、Microsoft Visual Studio.NET2003を使っているので、これに似たソフトMicrosoft Visual Studio.NETが父が勝手に入れたのか、幸いにもすでに入っていたので、家のパソコンでプログラミングをやろうと思ってました。ところが家のパソコンで学校と同じようにやろうとしてもうまくビルドができません(泣)前回のレポートの時は上手くいったのですが…。だれか教えてください。本当にお願いします!!!!! ちなみに、授業では、 「Microsoft Visual Studio.NET」を開き 新規作成→Visual C++プロジェクト→Win32コンソールプロジェクト→空のプロジェクト→完了 新しい項目の追加→C++ファイル→名前の入力(XXX.c) と、毎回わけも分からずやっており、そこから、プログラムを書いてビルドしてデバッグして勉強しております。しかし私が家で同様のことをやっても、ビルドの時点で error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 _WinMainCRTStartup で参照されました。 fatal error LNK1120: 外部参照 1 が未解決です。 とでるだけで、全くビルド自体ができません。 何かの設定が抜けているのでしょうか?どうすればよいのでしょうか?別のやり方でも良いので、Cのプログラムの作り方を教えてください!!!!!

  • Visual Source Safe?

    VB6のプロジェクトを開くたびに、 ソースコードの管理 このプロジェクトをVisual Source Safeに追加しますか? のメッセージが表示されます。 表示しないようにできるのでしょうか? そもそもVisual Source Safeとは何をするものでしょうか?