7

私は奇妙な問題を抱えています。誰かが私を助けてくれることを願っています。

13 の個別の C# プロジェクトを使用したソリューションがあります。Vista x64 を使用して開発を行っていますが、これらのプロジェクトをビルドして x86 プラットフォームをターゲットにしたいと考えています。これは通常、非常に簡単です。ソリューション プロパティ -> 構成プロパティに移動し、プラットフォームを x86 に変更できます。ここで奇妙なのは、私のプロジェクトの 3 つが x86 の選択を拒否していることです。

したがって、これら 3 つのプロジェクトのそれぞれに個別に移動し、[プロジェクト プロパティ] -> [ビルド] で変更し、プラットフォームを変更すると考えました。また、これらのプロジェクトには [構成] および [プラットフォーム] ドロップダウンはありません。少しグーグルで調べたところ、[ツール]->[オプション]->[プロジェクトとソリューション]->[高度なビルド構成を表示]で設定が見つかりました。これを選択した後、問題のあるプロジェクトの [プロジェクト プロパティ] に移動すると、両方のドロップダウンが表示されるようになりましたが、プラットフォームでは [アクティブ (任意の CPU)] しか選択できません。

これらのプロジェクトのソリューション プロパティのプラットフォームを x86 に変更することもできません。

何か案は?

4

4 に答える 4

12

ビルド構成がおかしくなったようです。3 つのプロジェクトは、ソリューションが x86 をサポートするように構成された後に追加された可能性があります (ソリューションがより多くのプラットフォームをサポートする場合でも、新しいプロジェクトは AnyCPU のみをサポートします)。

  • Build->Configuration Manager...に移動します
  • 「Active Solution Platform」を x86 に変更します (存在する場合。AnyCPU しか存在しない場合は、それを使用します)。
  • 問題のあるプロジェクトごとに、[プラットフォーム] 列で [新規] を選択します。
  • 「x86」として新しいプラットフォームを選択し、「任意の CPU」から設定をコピーし、チェックボックスがオンになっていないことを確認します。
  • [OK] をクリックします。

ソリューションと個々のプロジェクトの間で構成/プラットフォームの一貫性を保つのは難しい場合があります。構成マネージャーは、特にカスタム ソリューション構成で予期しない動作をすることがあります。最初にテストソリューションで遊ぶことをお勧めします。

于 2009-07-16T12:22:57.757 に答える
2

また、x64 で開発し、x86 にデプロイします。ただし、プラットフォームをデフォルト値 (任意の CPU) から変更していないため、問題なく動作します。プラットフォーム間で異なる動作をするコード (Win 相互運用機能など) はありますか? 32/64 ビット .NET ターゲティングの詳細については、Hanselman によるこの投稿を確認してください。

于 2009-07-16T11:47:30.970 に答える
0

csproj ファイルのテキストの内容を比較して、誤って抜け落ちたり入ったりした設定がないかどうかを確認します。sln の内容も確認してください。設定に何か問題がある可能性があります。

よろしく、

セバスチャン

于 2009-07-16T11:19:48.810 に答える