VisualStudio2003 リビルドできない

このQ&Aのポイント
  • VisualStudio2003初心者がリビルドできないエラーについての質問です。
  • C#プログラムを修正するため、既に退社した担当者が残したソースファイルを編集しようとしています。
  • ビルド時に参照不可のエラーが発生しており、50のエラーが3つの種類に分かれています。参照不可のファイルは別のフォルダに存在しています。どのように対処すればいいでしょうか?
回答を見る
  • ベストアンサー

VisualStudio2003 リビルドできない

VisualStudio2003初心者です。 会社で使用しているC#プログラムに修正の必要が出ており、そのプログラムを作成した担当が既に退社し連絡がつかないため、自分が手探りながらトライしています。 プログラムは、メニューにあたるexeファイル(TUmenu.exe)を起動し、そこから業務毎のexeファイル(TU0201.exe等)を起動させていく....という仕組みです。 通常使用するexeファイルとは別に、担当がソースファイルを残しており、slnファイルやcsファイルなどが業務ごとに存在していましたので、そのcsファイルのコードを編集→slnファイルでビルドし、exeファイルを古いものと差し替えようと考えています。 csファイルのコードは編集が完了しており、あとは編集した内容を適用したexeファイルを作るだけなのですが、slnファイルを開き、ビルド時にエラーが複数出て完了できません。 フォルダ階層について: 少し分かりにくいですが、ソースフォルダとして一まとめになっているフォルダの中身を書いておきます。 (1)ソースという名前のフォルダ→(2)TUmenuやTU0101やTU0201やLIBなど、業務毎に名前の付いたフォルダ→(3)例えばTU0101のフォルダ内には、TU0101.csやTU0101.sln等の部品ファイル というようになっています。 エラー詳細: エラー(警告)は約50出ているのですが、3種類に分かれます。 「参照コンポーネント '□□' が見つかりませんでした。」 「型または名前空間名 '○○'が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」 「型または名前空間名 '△△'は名前空間 '××'に存在しません。アセンブリ参照が不足しています。」 の3パターンです。 「参照コンポーネント '□□' が見つかりませんでした。」のパターンでは、例えばTUCONTLというコンポーネントが見つかりませんというメッセージが出ていますが、このTUCONTLという名前のフォルダが、 前述の(2)のLIBフォルダ下の階層に存在しており、その中にはTUCONTL.slnやTUCONTL.csなどが存在しています。なぜ見つからないのでしょうか? 「型または名前空間名 '○○'が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」のパターンでは、例えばAxTUtimpが見つかりませんでした...とのメッセージですが、これに似た名前のTUtimpフォルダが前述の(2)のLIBフォルダ下の階層に存在しています。 「型または名前空間名 'RTextbox'は名前空間 'TU'に存在しません。アセンブリ参照が不足しています。」のエラーが、ファイル「TU0305.cs」にて、11個出ています。 TU0305.csファイルを見てみると、やはりRTextboxという記述があり、参照が上手くいっていないようです。このRTextboxという名前のファイルが(2)のLIBフォルダ下の階層のTUCONTLフォルダ内にRTextbox.csというファイルで存在しています。 まとめますと、ビルドが出来ないエラーは、どれも参照不可からくるものと考えています。 また、参照できていないファイルは、どれも(2)のLIBフォルダ下にあるファイルであり、作業しているTU0101フォルダとは別のフォルダにあるファイルです。 エラーの根本的な原因は何でしょうか? また、例えば、それぞれの参照できていないファイルのアドレスを指定して、参照できるようにする事は可能なのでしょうか?

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

  • ベストアンサー
noname#259269
noname#259269
回答No.2

ソリューションエクスプローラ(画面右上)のプロジェクトを右クリックし「参照の追加」メニューでそのコンポーネント(DLL等)を追加してください。ソリューション内に複数のプロジェクトがあり、追加すべき DLL 等のプロジェクトが含まれている場合には、「プロジェクト参照」による追加も可能です。

59635963
質問者

お礼

早速トライしてみます。

59635963
質問者

補足

アドバイスにより解決しました!...が、エラーが1つだけ消えません。 別質問として再投稿しましたので、宜しければ再度お知恵を拝借したいと存じます。 http://okwave.jp/qa/q6369537.html よろしくお願いいたします。

その他の回答 (1)

  • pcb39431
  • ベストアンサー率84% (16/19)
回答No.1

Cについてはわかりませんが、 >参照できていないファイルは、どれも(2)のLIBフォルダ下にあるファイルであり、作業しているTU0101フォルダとは別のフォルダにあるファイルです。 別のフォルダということは、Windows環境変数のPATH等に問題があるのではないでしょうか?

59635963
質問者

お礼

回答ありがとうございます 該当箇所はvisualstudio2003の場合、どのように調整すれば宜しいでしょうか?

59635963
質問者

補足

アドバイスにより解決しました!...が、エラーが1つだけ消えません。 別質問として再投稿しましたので、宜しければ再度お知恵を拝借したいと存じます。 http://okwave.jp/qa/q6369537.html よろしくお願いいたします。

関連するQ&A

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

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

  • C#でSystem.IO.FileFormatEx

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

  • VisualStudio2005

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

  • VisualStudioでのバージョン更新方法

    VisualStudio2013 でC#を使って開発を行っています。 プロジェクトのアセンブリバージョン、ファイルバージョンの書き換えについて質問させてください。 一つのソリューションの中にいくつかのプロジェクトがあり、 そのバージョンを一つ一つ変更するのが手間なのでバージョンだけを書いたプロジェクトを作り それを各プロジェクトから参照出来ないかと考えました。 VersionLibというプロジェクトを作成しその中に下記のものを作成しました。 /// <summary> /// ヴァージョン管理用クラス /// </summary> public class version { // ヴァージョン情報 public const string A_Lib_Ver = "0.1.0.0"; public const string B_Lib_Ver = "0.1.0.0"; public const string C_Lib_Ver = "0.1.0.0"; public const string TestPrj = "0.1.0.0"; public const string verson_Ver= "0.1.0.0"; } 各プロジェクトのAssemblyInfo.cs の中で [assembly: AssemblyVersion(version.A_Lib_Ver)] [assembly: AssemblyFileVersion(version.A_Lib_Ver)] のような形で記述しました。 ソリューションの構成は TestPrjというプロジェクトがA_Lib、B_Lib、C_Libという3つのプロジェクトを参照しています。 上記の1+3のプロジェクトはVersionLibプロジェクトを参照しています。 A_Lib、B_Lib、C_Lib及び、VersionLibプロジェクトのビルドは通るのですが、TestPrjのビルドが通らず 「エラー 16 ファイル "C:\\TestPrj\Version\bin\Debug\Version.dll" を "bin\Debug\Version.dll" にコピーできません。別のプロセスで使用されているため、プロセスはファイル 'bin\Debug\Version.dll' にアクセスできません。」 と表示されエラーになってしまいます。 ビルドの順番を変えてみたりしましたが変化はありませんでした。 また一度VisualStudioを閉じて再度ソリューションを開くと添付の画像のエラーがでました。 この現象の解決方法がありましたら教えていただきたいです。 また、別の方法でバージョンをまとめて変更できる方法がありましたらそちらでも結構なので教えていただけたら嬉しいです。 宜しくお願い致します。

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

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

  • プライベートアセンブリの利用について

    はじめまして。 現在、VS 2008 Express Edition で OS が Windows Vista を使用しています。早速ですが、質問させていただきます。 プライベートアセンブリを利用するとは、EXEファイルが格納 されているフォルダと同じフォルダかそのサブフォルダに DLLファイルを配置するだけで参照設定しなくてもDLLを参照 することができるという認識でいたのですが、ただ単に DLLファイルを配置しただけでは、コンパイラはDLLを見つけてくれません。したがってコンパイルエラーになります。プライベートアセンブリ の概念や利用方法が全然わかっていないと思います。どなたか利用方法 などを教えてくれませんでしょうか?

  • c#でのプログラムについて

    c#でのプログラムについて お世話になります。 c#初心者です。今までエクセルVBAでの簡単なプログラム経験があります。 コードファイル(CodeFile1.cs)からフォーム(Form1)を表示させるプログラム(初歩) ですでにいきづまっています。 ネットで見つけた、 「Form1 Form = new Form1();  Form.Show();」 と記述しましたら、下にあるエラー一覧で 「型または名前空間名'Form1が見つかりませんでした。usingディレクティブまたはアセンブリ  参照が不足しています。」と出ています。 なので、コードファイル(CodeFile1.cs)の上の方に 「using System.Windows.Form;」 と追加したのですが、まだエラー内容に変わりはありませんでした。 どうすればフォーム(Form1)を表示させるプログラムが出来るか どなたか、お教え頂きたく宜しくお願い致します。

  • visualStudio2008のデータを使いたい

    私はvisualStudio2010のフリー版を使用しています。 2010のC#で開発しているツールに他の方が2008proで作ったツールを入れたいのですが、方法がわかりません。 2008proで作られたslnを私の2010のfreeで開こうとすると、visualStudioの変換ウィザードというのが立ち上がり、[次へ]を押していくとプロジェクトにアンロードという表示がされてしまい、開いてみることができません。 これは、2010と2008のバージョンの違いによるものなのでしょうか?すくなくとも2013のフリー版で、2010で作っているプロジェクトを開き編集することは可能です。 有料版だからとかんがえたほうがよいのでしょうか? 他の知人い、C#のプログラムにC++を入れたいという相談をしたところ、 プロジェクトに追加するか、DLL化して使えばよいというアドバイスを受けているのですが、現状の状態でどちらかの方法をとることはできるのでしょうか? Debugフォルダにexeファイルが入っており、exeからはその機能を使うことができます。exeを直接突っ込むことはできないでしょうか? とにかく突破口を探しています。 なにか思いついた方いましたらお返事ください。よろしくおねがいします。

  • batファイルでのフォルダ名の入力??

    フォルダ内の特定のファイルがあれば 作業するexeがあり、そのreadmeにはこの様に 記してあります。 ↓ Usage : 11111.exe ファイル名 Usage : 11111.exe フォルダ名 ファイル名 拡張子abcファイル内の番組情報を元にbbcファイルを生成する フォルダ名 フォルダ直下にあるabcファイルすべてのbbcファイルを生成する。 ここまで↑ 同一階層にbatを作成しexeも置いておき、ファイル名を入力したら成功しました。 @echo off 11111.exe 22222.abc 結果。22222.bbc作成成功。 しかし、フォルダ名を入れても全く出来ません。 @echo off 11111.exe rrrrr g:\rrrrrは存在しません、となって終了してしまいます。 同一階層にbatやexeを置いて実行しても ひとつ上の階層に置いて実行したりしても同じでした。 もちろんrrrrrフォルダは存在しています。 11111.exe g:\rrrrr としても同じでした。 サンプルのbatでは @echo off 11111.exe $Filepath$ となっていました。 フォルダ名の入力がポイントだと思うのですが いろいろやっても全く出来ませんでした。 ご教授願います。

  • 解かる方は神!aftereffectsの仕様?

    私は現在AEのCS4 と CS5.5 を所有しているのですが、次の作業内容にてトラブルが発生しました 1 AEにてjpegのアセットをプロジェクトに読み込む  ※この時アセットの名前は1としてフォルダの1階層目にて先に用意しておく  2 レイヤーに配置してプロジェクトを保存して終了  ※保存先はアセットフォルダと同じ階層で別フォルダにて保存 3 上記で作成したフォルダを別のフォルダにコピー  ※「別のフォルダ」→ 「1」で用意してあるフォルダと同じ名前、同じ階層、同じアセット名だが物の違うjpegが同梱されているフォルダ 4 コピー先のフォルダから「2」をAEにて起動する ■CS4の場合  ・・・A 「4」を実行した際にAEにて表示される写真データはコピー先に同梱されている同じアセット名だが物の違うjpegになる ファイルパス的にも 「3」 の別フォルダを参照している つまりフォルダをコピーした段階で別フォルダの同じ階層、同じ名前ならjpegアセットは中のフォルダ内のアセットと差し替わっている事になっている ■CS5.5の場合 ・・・B 「4」を実行した際にAEにて表示される写真データはコピー元のフォルダ内と同じjpegアセットになる  ファイルパス的には「1」の元フォルダ内のjpegを参照している つまりフォルダをコピーしてもファイルパスはコピー元のフォルダ内アセットを参照し、差し替わらない事になっている 私は作業上、「A」でなければ効率が悪いのでCS5.5でもファイルパスが差し替わる仕様にしたいのですが可能ですか? わかりづらい説明で申し訳ありませんが宜しくお願い致します。

専門家に質問してみよう