はい、わかっています... XPを実行する仮想マシンをセットアップできます。残念ながら、私たちのビルド環境では、VC2003、2005、および2008を同時に実行する必要があり、2003を必要とするいくつかのプロジェクトでWindows7でネイティブに実行できればはるかに便利です。
IDEで利用できないものがあるかもしれませんが、Windows Vistaで2003を実行でき、Windows7で同じ基本レベルの機能を取得できれば非常に嬉しいです。
XP SP 2の互換モードで管理者として実行するようにvc2003を切り替えた後、コンパイルすると、*。pdbファイルを開くときにエラーが発生します。
ありがとう!
ネイティブで実行できない場合は、XPモードを試してください。
私は ブログエントリ これについてしばらく前にチェックアウトできるように書きました http://technikhil.wordpress.com/2010/01/12/visual-studio-2003-and -windows-7-can-get-along-really /
私が今立ち往生しているのは、VS2003のグローバル検索機能だけです。アプリケーションがハングします。私の回避策は、Windows7検索を使用することです:-)。それ以外-これまでのところとても良い...
更新:Aero機能を無効にすることで検索も機能するようになりました ブログ投稿 の詳細を更新しました...
(これの多くは、すでに上で書かれたことを繰り返します。)
レガシープロジェクト(元のXboxで実行されるプロジェクトなど)をサポートするには、Win764ビットで管理者としてVS2003を実行する必要があります。古いXDKにはVS2003が必要なため、アップグレードはオプションではありません。 WinXPを実行することもできますが、Win7の方が好きです。
VS2003はWin7で公式にサポートされておらず、そうしようとすると、かなり厄介な問題がいくつか発生します。
ファイル内検索により、VS2003がハングします。 PDBファイルハンドルのリークが原因でリンクが失敗します。ファイル内検索のハングは、「ビジュアルテーマを無効にする」を使用して解決されます。 VS2003ショートカット([スタート]-> [Microsoft Visual Studio .NET 2003])に移動し、右クリックしてコンテキストメニューを表示し、[互換性]タブ、[設定]ペインを選択して、[ビジュアルテーマを無効にする]をオンにします。
リンカー障害(LNK1201)は、デバッガーを介してプログラムを実行し、プログラムを停止し、ファイルを変更してビルドすると発生します。エラーは、リンカーがPDBファイルに書き込もうとしているときに、VisualStudioがPDBファイルへのハンドルを保持していることです。 VS2003を停止して再起動すると、問題を回避できます。動作しますが、迷惑です。
Microsoft SysInternalsの「handle.exe」ユーティリティを使用して、特定のファイルのプロセスによって保持されているハンドルを見つけて閉じることもできます。 handle.exeを呼び出すスクリプトを作成し、そのスクリプトをビルド前イベントとして実行するようにVS2003プロジェクトを設定します。 ( このスレッド を参照してください。)ただし、handle.exeはadminとして実行する必要があります。
仮に、handle.exeを通常の手順(互換性設定など)を使用して管理者として実行するように変更できますが、handle.exeは(明らかに)ネストされたシェルで実行され、stdoutテキストは呼び出し元のスクリプトに到達しません。
VS2003を管理者として実行することができます。その場合、ビルド前のスクリプトも管理者として実行されるため、handle.exeが実行され、それが機能します。
残りのトリックは、VS2003SLNファイルを正しく開くようにすることです。単にVS2003を管理者として自動的に実行させると、VSバージョンセレクターはVS2003の実行に失敗します。理由はわかりませんが、そうです。
VSLauncher.exeの代わりにVS2003devenv.exeを使用して、SLNファイルを関連付けて開くことができます。それは機能しますが、すべての新しいSLNファイル(2005、2008、2010、2012など)を開くことができません。
したがって、最後のステップは、VSLauncher.exeを管理者として実行することです。 このスレッド が示すように、これはKB2492386の時点で失敗します。その更新をアンインストールすることは、すべてを機能させるためのこの物語の最後のステップでした。
PATCH NOW AVAILABLE
リバースエンジニアリングを行った後、リークの原因となっている誤って再カウントされたCOMオブジェクトを見つけ(1つずれていました)、安定したパッチと修正について説明した対応する記事を作成しました。これは、Windows7からWindows10の使用中に発生した問題に対処します。詳細とダウンロードは次のURLで入手できます。
http://bytepointer.com/articles/vs7.1_2003_on_win7_pdb_handle_leak_bug_unofficial_fix.htm
パッチを手動で実行する場合は、それらの詳細も含まれています。
注:SysInternalsハンドルツールの回避策は、ネットワーク共有上のファイルでは機能しませんでした。ハンドルツールが閉じていると主張したにもかかわらず、.PDBは完全にロック解除されていませんでした。私の修正により、問題が完全に解消され、副作用が回避されます。
このインストールを実行します。セットアップディレクトリから実行する必要があります。CDのルートにあるsetup.exeは機能しません。
D:\ setup\SetUp.exe/NO_BSLN_CHECK
私が助けたウェブ上で見つけた解決策:あなたのビジュアルスタジオには、アプリケーションの互換性= Windows Vista SP2を使用し、WinXPSP3は使用しないでください
最初のRCエディションがリリースされて以来、私はwin7でVisual Studio 2003を使用しています:Sなぜ人々は問題を抱えているのですか?
私はpdbの問題に対して本当に汚くて哀れな回避策を持っています。
Sysinternals-ProceXPをダウンロードして実行し、CTRL-Fを押して、リンク中に作成できないpdb(smt like($ ProjectName).pdb)の名前を入力します。見つかったらダブルクリックします(見つからない場合は、管理者権限でprocexpを実行します)
次に、メイン画面の下部ペインで.pdbファイルが強調表示されていることがわかります。それを右クリックして、[ハンドルを閉じる]を選択します。ソリューションの構築を再試行しても、エラーは発生しません。
このソリューションをスクリプト化できるかどうかはわかりませんが、少なくともVisualStudioを再起動するよりはましです。
仮想Windows XP機能を使用して、Windows 764ビットにVS2003をインストールしようとしました。これが成功することはかなり確信しています。遭遇した問題はインストーラーが必要とすることです= IISがインストールされており、仮想によって提供されるXPインストールXPではデフォルトで有効になっていません。
コンポーネントの追加と削除に移動して追加しようとすると、手元になかったディスクが要求されます。ディスクを手に入れたら、問題なく動作すると確信しています。
他のアプリで試したことがない場合は、仮想XP機能は本当にきちんとしています...
同じ問題が発生しています。 devenv.exeは、プロジェクトの実行後にpdbファイルを開いたままにします。私はそれを回避するためにバッチファイルを作成しました、それは閉じます すべての.pdb devenv.exeによって開かれたファイル:
handle.exe .pdb | awk "/devenv.exe/ { split($4, fd, \":\"); system(\"handle.exe -c \" fd[1] \" -y -p \" $3)}"
それを機能させるには、パスにsysinternalsによるhandle.exeとgnuによるawkが必要です。
自己責任で使用してください。ハンドルを閉じると、アプリケーションまたはシステムが不安定になる可能性があります。
Windows 764ビット上のVisualStudio2003で問題はありません。
Visual Studio .NET 2003は、I7プロセッサと12GBのRAM Windows 7 Professional64ビットを実行しているHPEliteBook Workstation 8760Wで、いくつかの高度な手順を実行することで問題なく動作します。次のようになります。
その後、常に次のメッセージでアラートが表示されます
このプログラムには互換性の問題があります...
それを無視してください。また、IDEのプロパティで互換モードにしないでください。
Windows 7では、実行可能プロパティに互換性モードがあります。 open:C:\ Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE \次に、devenv.exeを右クリックして、プロパティを選択します。 [互換性]タブで、[互換モードで実行]を選択し、ドロップダウンで[WindowsXP]を選択します。
それを試してみてください、それがうまくいくかどうかはわかりませんが、一見の価値があります。