プロジェクトの2つの構成を同時にビルドしたいと考えています。私がリリースをビルドしたいとき、私もデバッグをビルドしたいとしましょう(その反対は真ではありません)。 Use a single Visual Studio solution to build both x86 and x64 at the same time?で始まる私は.csprojVisual Studioでプロジェクトの複数の構成を同時にビルドすることはできませんが、MSBuildで行うことができます
<Target Name="AfterBuild">
<MSBuild Condition=" '$(Configuration)' == 'Release' " Projects="$(MSBuildProjectFile)" Properties="Configuration=Debug" RunEachTargetSeparately="true" />
</Target>
に追加しようとしたと私はMSBuildの
MSBuild ConsoleApplication64.csproj /p:Configuration=Release /p:Platform=x86
を通じてプロジェクトをビルドしようとした場合、それは正常に動作します。 2つの構成が正しく構築され、すべてが良好です。私は、Visual Studioでそれを構築しようとした場合
問題がある:リリースが正しく構築され、それはデバッグバージョンを構築し始め、それが「OBJ \ X86 \デバッグから私
コピーファイルを提供します(2868,9):エラーMSB3021:ファイル "obj \ DebugApplication64.exe"をコピーすることができませんでした:\ bin \ Debug \ ConsoleApplication64。 c:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets x86 \ Debug \ ConsoleApplication64.exe "を" bin \ Debug \ ConsoleApplication64.exe "にコピーします。 'obj \ x86 \ Debug \ ConsoleApplication64.exe'ファイルが見つかりませんでした。
前提条件:
英語を並べて表示英語を並べて表示する機械翻訳機械翻訳版の免責を確認する対象製品このプロジェクトは、C#4.0用の空のコンソールアプリケーションです(技術的には問題はありませんが、問題を再現できます)。
(私は冗長性を有効にしてそれらのメッセージ持つように次の点に注意してください。ツール - >オプション - >プロジェクトおよびSolutions-からノーマル>を構築し、実行 - >のMSBuildプロジェクトのビルド出力冗長
出力を比較した後半分
リリース:
タスク「Cscに」(タスクID二つの「半分」の差がで「作業」半分CSCはそうではない、他の一つに、呼び出されたということです実行します:13)
c:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Csc.exe/noconfig /nowarn:1701,1702/nostdlib + /プラットフォーム:x86/errorreport:プロンプト/警告:4 /define:TRACE/reference: "C:\ Programmi \ Reference アセンブリ\ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ Microsoft.CSharp.dll " /参照:" C:\ Programmi \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ mscorlib.dll " /reference 「C:¥Programmi¥Reference Assemblies¥Microsoft¥Framework.NETFramework¥v4.0¥Profile¥Client¥System.Core.dll」 /reference: "C:¥Programmi¥Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ System.dll " /debug:pdbonly/filealign:512/optimize + /out:obj \ x86 \ Release \ ConsoleApplication64。 exe/target:exe Program.cs プロパティ\ AssemblyInfo.cs "C:\ Documentsと 設定\ m.alberti-cons \ Impostazioni locali \ Temp.NETFramework、Version = v4.0、Profile = Client.AssemblyAttributes.cs " (TaskId:13)タスク" Csc "の実行を完了しました。(タスクID:13)半分
デバッグ:
タスク "Cscに"(タスクID:41) 完了実行中のタスク "Cscに"。 (タスクID:41)私は2人の半分は同じ
DefineConstants
を使用するならば、何の問題も、すべての作品がないことに気付きましたが、彼らは、リリース/デバッグのように(異なる場合、いくつかのより多くのテストの後
)それは動作しません。 :-(
あなたは、まずデバッグ構成でMSBuildの中で構築し、リリース構成で構築しようとしてみていただけますか? – Samselvaprabu
@Samselvaprabuそれは動作しますが、実際には何もしません。デバッグ、ビルドリリース(+デバッグ):エラーなし、ビルドデバッグ、コード行の追加( 'Console.WriteLine(" Hello World ");')、ビルドリリース、デバッグバージョンisn '再構築されましたが、エラーはありません。 – xanatos
Visual Studioの/ p:Platform = x86かanycpuかどうか – Samselvaprabu