21

はい、わかっています... XP を実行する仮想マシンをセットアップできました。残念ながら、私たちのビルド環境では VC2003、2005、および 2008 を同時に実行する必要があり、2003 を必要とするいくつかのプロジェクトで Windows 7 でネイティブに 2003 を実行できれば、はるかに便利です。

IDE では利用できないものがあることは承知していますが、Windows Vista で 2003 を実行できました。また、Windows 7 で同じ基本レベルの機能を利用できれば、非常に満足しています。

現在、XP SP 2 の互換モードで vc2003 を管理者として実行するように切り替えた後にコンパイルすると、*.pdb ファイルを開くときにエラーが発生します。

ありがとう!

4

16 に答える 16

14

ネイティブで実行できない場合は、XP モードを試してください。

http://www.microsoft.com/windows/virtual-pc/download.aspx

于 2009-05-18T18:34:57.187 に答える
11

私はこれについてしばらく前にブログ エントリを書きました。本当/

私が今行き詰まっているのは、VS 2003 のグローバル検索機能だけです。アプリケーションがハングします。私の回避策は、Windows 7検索を使用することです:-)。それ以外は - これまでのところとても良い...

更新: Aero 機能を無効にすることで、検索も機能するようになりました -詳細をブログ投稿に更新しました...

于 2010-03-12T10:31:48.900 に答える
6

(これの多くは、すでに上に書かれていることを繰り返します。)

レガシー プロジェクト (オリジナルの Xbox で実行されるプロジェクトなど) をサポートするために、Win7 64 ビットで管理者として VS2003 を実行する必要があります。古い XDK には VS2003 が必要なため、アップグレードはオプションではありません。WinXP を実行できますが、Win7 の方が好みです。

VS2003 は Win7 では公式にサポートされていません。そうしようとすると、かなり厄介な問題がいくつか発生します。

ファイル内検索により、VS2003 がハングします。PDB ファイル ハンドル リークが原因で、リンクが失敗します。ファイル内検索のハングは、「視覚テーマを無効にする」を使用することで解決されます。VS2003 ショートカット ([スタート] --> [Microsoft Visual Studio .NET 2003]) に移動し、右クリックしてコンテキスト メニューを表示し、[互換性] タブの [設定] ペインを選択して、[ビジュアル テーマを無効にする] をオンにします。

リンカ エラー (LNK1201) は、デバッガを使用してプログラムを実行し、停止し、ファイルを変更してビルドすると発生します。エラーは、リンカーがそのファイルに書き込もうとしているときに、Visual Studio が PDB ファイルへのハンドルを保持していることです。VS2003 を停止して再起動すると、この問題を回避できます。動作しますが、面倒です。

また、Microsoft SysInternals の「handle.exe」ユーティリティを使用して、特定のファイルのプロセスが保持しているハンドルを見つけて閉じることもできます。handle.exe を呼び出すスクリプトを記述し、VS2003 プロジェクトをセットアップして、そのスクリプトをビルド前イベントとして実行します。(このスレッドを参照してください。)ただし、handle.exe は管理者として実行する必要があります。

通常の手順 (互換性設定など) を使用して、handle.exe を管理者として実行するように変更できますが、(明らかに) ネストされたシェルで handle.exe が実行され、stdout テキストが呼び出しスクリプトに到達しません。

VS2003 を管理者として実行することができます。この場合、ビルド前スクリプトも管理者として実行されるため、handle.exe が実行され、それが機能します。

残りの秘訣は、VS2003 SLN ファイルを適切に開くことです。VS2003 を自動的に管理者として実行すると、VS バージョン セレクターは VS2003 を実行できません。理由はわかりませんが、そうです。

VSLauncher.exe の代わりに VS2003 devenv.exe を使用して SLN ファイルを開くように関連付けることができます。これは機能しますが、すべての新しい SLN ファイル (2005、2008、2010、2012、...) を開くことができません。

最後のステップは、VSLauncher.exe を管理者として実行することです。このスレッドが示すように、これは KB2492386 の時点で失敗します。その更新プログラムをアンインストールすることは、すべてを機能させるために、この物語の最後のステップでした。

于 2012-12-21T01:03:35.483 に答える
4

このインストールを実行します。セットアップ ディレクトリから実行する必要があります。CD のルートにある setup.exe は機能しません。

D:\setup\SetUp.exe /NO_BSLN_CHECK

于 2011-06-08T15:01:10.960 に答える
3

Web で見つけた解決策: ビジュアル スタジオの場合、アプリケーションの互換性 = Windows Vista SP2 を使用し、WinXP SP3 ではありません

于 2009-10-25T22:42:27.147 に答える
2

私はpdbの問題に対して本当に汚くて哀れな回避策を持っています。

Sysinternals-ProceXPをダウンロードして実行し、CTRL-Fを押して、リンク中に作成できないpdb(smt like($ ProjectName).pdb)の名前を入力します。見つかったらダブルクリックします(見つからない場合は、管理者権限でprocexpを実行します)

次に、メイン画面の下部ペインで.pdbファイルが強調表示されていることがわかります。それを右クリックして、[ハンドルを閉じる]を選択します。ソリューションの構築を再試行しても、エラーは発生しません。

このソリューションをスクリプト化できるかどうかはわかりませんが、少なくともVisualStudioを再起動するよりはましです。

于 2009-10-10T15:17:35.747 に答える
2

最初のRCエディションがリリースされて以来、私はwin7でVisual studio 2003を使用しています:Sなぜ人々は問題を抱えているのですか?

于 2010-02-17T23:22:48.213 に答える
1

同じ問題が発生しています。devenv.exeは、プロジェクトの実行後にpdbファイルを開いたままにします。私はそれを回避するためにバッチファイルを作成しました、それはdevenv.exeによって開かれたすべての.pdbファイルを閉じます:

handle.exe .pdb | awk "/devenv.exe/ { split($4, fd, \":\"); system(\"handle.exe -c \" fd[1] \" -y -p \" $3)}"

それを機能させるには、パスにsysinternalsによるhandle.exeとgnuによるawkが必要です。

自己責任。ハンドルを閉じると、アプリケーションまたはシステムが不安定になる可能性があります。

于 2009-12-03T00:01:16.783 に答える
1

仮想 Windows XP 機能を使用して、VS2003 を Windows 7 64 ビットにインストールしようとしました。私はこれが成功することをかなり確信しています。私が遭遇した問題は、インストーラーが IIS のインストールを要求しており、Virtual XP によって提供される XP インストールでは、それがデフォルトで有効になっていないことです。

[コンポーネントの追加と削除] に移動して追加しようとすると、手元にないディスクを要求されます。ディスクを手に入れたら、問題なく動作することを確信しています。

他のアプリで試したことがない場合、Virtual XP 機能は非常に優れています...

于 2009-07-02T00:48:46.287 に答える
0

Windows 7 64 ビットで Visual Studio 2003 を使用しても問題はありません。

  1. VS2003 devenv.exe (おそらく C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\IDE\devenv.exe) に移動します。
  2. 右クリックして [プロパティ] を選択します
  3. [互換性] タブで、[互換モードでこのプログラムを実行する] にチェックを入れ、[Windows XP (Service Pack 3)] を選択します。
  4. 「管理者としてこのプログラムを実行する」にチェックを入れる
于 2010-05-19T11:52:28.063 に答える
0

Windows 7 では、実行可能プロパティに互換モードがあります。C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\ を開き、devenv.exe を右クリックしてプロパティを選択します。互換性タブで、「互換性モードで実行」を選択し、ドロップダウンで「Windows XP」を選択します。

試してみてください。うまくいくかどうかはわかりませんが、試してみる価値はあります。

于 2009-05-18T18:40:42.620 に答える
-2

申し訳ありませんが、あなたのビルド環境では、VC 2003、2005、および 2008 を同時に実行する必要がありますか? ビルド環境を 1 つの環境に統合するだけで、あなたの努力を無駄にしない方がよいと私は確信しています。

于 2009-05-18T18:28:39.993 に答える
-2

MSBEEを使用して .net 1.1 をターゲットにして、ソリューションを vs2005 にアップグレードすることを検討しましたか?

于 2009-05-18T18:30:54.293 に答える