2011-01-24 25 views
3

Visual Studio Configuration Managerで「ゲーム」を実行した後、Visual Studioで作成した新しいC#/ VB.NETプロジェクトには、ソリューションプラットフォーム。 '任意のCPU'でなければならず、必要に応じてx86またはx64を選択できるはずです。すべての新しいプロジェクトでこれらの設定をリセットするにはどうすればよいですか?Visual Studio 2010 Configuration Managerのデフォルト設定を復元する方法

答えて

0

これが問題なのですか?たぶん、詳細なhereとして "Show Advanced Build Configurations"を設定するだけです。

+0

ウリ、私は "非常に初心者"だと思いますか? :) "Show advanced build configurations"チェックボックスがチェックされていない場合、 "Solution Configuration"と "Solution Platforms"コンボボックスはグレー表示(無効)になります! 私の質問では、「ソリューションプラットフォーム」にはデフォルトで「x86」という項目が1つしか含まれていないことを意味しました。デフォルトでは「AnyCPU」である必要があります。 – Eddy

+0

私はc:¥Program Files(x86)¥Microsoft Visual Studio 10.0¥Common7¥IDE¥ProjectTemplates¥CSharp¥Windows¥1033¥WindowsApplication.zip¥windowsapplication.csprojを調べました。 \t x86の Shouldn :これは、次が含まれていますそれは「AnyCPU」ですか? – Eddy

+0

私は新人ではありませんが、私の時間を要するその問題に遭遇しました:)問題を解決したファイルを変更しましたか? –

1

Microsoftは、EXEのデフォルトをx86に変更しました。リック・バイヤーズでこの記事をチェックアウト:

http://blogs.msdn.com/b/rmbyers/archive/2009/06/09/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx

ここで私は は、Visual StudioのEXEプロジェクトの既定のはx86作る正当化するために、私たちの議論に使用されてきたリストです:

  • は、 非常に異なる2つのモードで実行すると、製品の複雑さとテストのコストが増加します *多くの場合、アーキテクチャ中立アセンブリのネイティブinteropには、 の影響がありません。 は、対応するネイティブDLLの と同等の32ビット版と64ビット版が使用可能であることを保証する必要があり、適切なものが自動的に選択されます(最も重要なのは )。 WOWで実行しているときにc:\ windows \ system32 をc:\ windows \ syswow64にOS再マッピングし、OSチームが広範なテスト を実行しているため、OS APIを呼び出すと、かなり簡単に となります。しかし、 と一緒にネイティブDLLを配布している多くの人が、この管理アプリケーションを最初に間違って受け取り、その アプリケーションが64ビットシステムで爆発するのを驚いている。例外は、 32ビットDLLの形式が間違っている。また、ネイティブコードでは よりもはるかに稀ですが、.NETでポインタサイズのバグが引き続き現れることがあります(例えば、 、Int32とIntPtrが同じであると仮定したり、ネイティブコードを使用していない場合には 宣言を誤って整列します)。 *また、さらに、 のルールに従わなければならない場合は、実際に の2倍のコードをテストするという問題があります。たとえば、 をCLRの1つのアーキテクチャにのみ再現する簡単な(そして確かに多くの)CLRバグがあります。これは、OSX、フレームワーク、サードパーティ製のライブラリから、スタックの に完全に適用されますあなたのコード)。理想的な世界では のコースは、誰もが 32ビットと64ビットの両方の素晴らしい仕事のテストを行っており、実際には違いは見られませんが、実際にはそうではない傾向のある大きなアプリケーションでは マイクロソフトでは少なくとも) 32と64ビットのテストシステム全体を複製し、テストには継続的なコストをかけ、すべてのプラットフォームをサポートする を支払うことになります。 * [編集:リコ - CLRとVSパフォーマンス 建築家の名声の - ちょうどVisual Studioの はすぐに純粋な64ビットアプリケーションanytmieではありませんなぜ上の偉大なブログのエントリを投稿]
  • 32ビットは速くとにかく傾向にあります * 32ビットモードまたは64ビットモードのいずれかでアプリケーションを正常に実行できる場合、32ビットモードは少し遅くなる傾向があります( )。大きなポインタとは、より多くのメモリとキャッシュを意味します。利用可能なCPUキャッシュのバイト数は、 で、32ビットと64ビットのプロセスで同じです。もちろん、WOW層 は、いくつかのオーバーヘッドを追加しませんが、私が見てきたパフォーマンスの数値は、WOWで実行されている最も現実世界のシナリオで は、ネイティブの64ビットプロセス
  • としていくつかの機能を実行するよりも高速であることを を示しています64ビットでは使用できません * 32ビットと64ビットの間で完璧なパリティが必要ですが、現実的にはまだ ではありません。 CLR v2はx86上の混合モードデバッグ しかサポートしていませんが、最終的にCLR V4でx64サポートを追加しましたが、 edit-and-continueはx64をサポートしていません。 CLRチームでは、我々は新しい 機能を追加するたびに第一級オブジェクトをするのx64を検討 が、現実には、例えば、完全に独立した32ビットおよび64ビット(私たちは、複雑な コードベースを持っているということですJITコンパイラ) 、我々は時々トレードオフをしなければならない(例えば、64ビット を追加ENCは、JITのチームにとって非常に大きなコストであったであろう、と我々 が)自分の時間をより良い優先度の高い機能に費やされたことを決めました。 CLRの外には、VS 2010の履歴デバッグに特有の の特長があります。 の複雑さは、エラーメッセージ と常にうまくやっているわけではないということです64ビットOSに「アップグレード」して、その機能のいくつかは、もはや 仕事に表示されていないことを見てうんざり をしている(彼らはちょうど場合、再標的化さていることに気づかずWOW彼らは 作業罰金をいただきたいです)。たとえば、VSのEnCエラーはあまり明確ではない (「64ビットアプリケーションの変更は許可されていません」)、実際には に混乱が生じています。私たちは VS2010で正しいことをやって、ダイアログはそれを明確にx86のにあなたの プロジェクトを切り替えても問題が解決できることを確認することを固定していると信じていますが、まだ取得 は、人々は、このようなエラーに浪費している時間が戻ってありません。
関連する問題