1

2台のコンピューターにVS.NET 10.0.40219.1 SP1があり、新しいC#Winformアプリを作成するときは、プロパティ/ビルド/プラットフォームx86でのみ実行し、ターゲットでAnyCpu/x64を選択できますが、設定できません構成 (ただし、ライブラリは正常に動作します)。

プロジェクト ファイルで手動で変更しようとすると、多くの厄介なエラーが発生します。これは通常の動作ですか、バグですか、それともインストールの問題ですか?

PD: プロジェクトを手動で変更すると、次のことが起こりました。

警告 1 プロジェクト ' * .csproj'の OutputPath プロパティが設定されていません。このプロジェクトの構成とプラットフォームの有効な組み合わせを指定したことを確認してください。構成='デバッグ' プラットフォーム='x86'. このエラーは、他のプロジェクトがこのプロジェクトへのプロジェクト間参照に従おうとしている場合、このプロジェクトがアンロードされているか、ソリューションに含まれていない場合、および参照プロジェクトが同じまたは同等のものを使用してビルドされていない場合にも表示されることがあります。構成またはプラットフォーム。c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets

プロジェクトを再度開くと、すべての参照が無効になります

4

2 に答える 2

1

Visual Studio が x86 プラットフォームだけで WinForms プロジェクトを作成するのは普通のことです。歴史的に x86 が唯一のプラットフォーム タイプだったからなのか、それとも x86 が最も一般的に使用されている値なのか、それとも他の理由なのか、私にはわかりません。

また、プロジェクト ファイルが手動で変更された場合に問題が発生するのも普通のことです。可能な限りそれを避けるようにしてください。

C# プロジェクトで別のプラットフォーム構成を作成するには

  1. ビルドを選択 | 構成マネージャー
  2. [アクティブ ソリューション プラットフォーム] フィールドで [<新規...>] を選択します。
  3. ご希望の新タイプをお選びください
  4. [OK] をクリックします。
于 2012-07-13T21:12:44.393 に答える
0

Visual Studio は、既定で AnyCPU アプリを作成するために使用されます。VS2005 と VS2008 の両方がこれを行ったと思いますが、VS2008 では変更されている可能性があります。何が起こったかは次のとおりです。多くの AnyCPU アプリは、32 ビット ライブラリに依存して構築されたため、64 ビット システムでは機能しなくなりました。32 ビットに依存する AnyCPU アプリを 64 ビット システムで実行しようとすると、32 ビット dll をロードしようとするとすぐにクラッシュする 64 ビット プロセスが発生します。

これを修正するために、x86 オプションを使用するようにデフォルトが変更されました。AnyCPU を使用する場合は、ここで環境をセットアップする必要があります。

于 2012-07-13T21:26:05.553 に答える