したがって、デバッグモードでビルドするときにアセンブリ名に "d"私の知る限りは、C#でこれを行うための標準的な方法を伝えることができるよう、次に.csprojファイルを編集して置くことです:条件付きAssemblyNameにより、 "Debug"/"Release"以外の名前を使用するとC#プロジェクトが常に再構築されます
所望の効果を有するが、今くそプロジェクトは常に出力を再構築<PropertyGroup>
<AssemblyName Condition="'$(Configuration)' == 'V90 Debug'">$(AssemblyName)d</AssemblyName>
</PropertyGroup>
。 DLLに依存する他のプロジェクトの再リンクなどを引き起こします。この変更がなければ、このような問題はありません。
これまでのところ、プロジェクト出力の冗長性を高めることは役に立たなかった。
編集:「V90リリース」、「V90デバッグ」、「V100リリース」などの名前を使用していますが、私たちの設定では、さまざまなバージョンのビジュアルStudioランタイム私は、標準の構成名でテストアプリケーションを書いたが、私の問題はその場合には起こらないことがわかった。
なぜ非標準的なことをしていますか? (あなたがしていることを行うための「標準的な」方法はありません)。 – Oded
まあ、StackOverflowの受け入れられた答えであるという意味で標準です:http://stackoverflow.com/questions/2855629/c-vs-net-change-name-of-exe-depend-on-conditional-compilation-シンボル。私はこの方法でやっています。なぜなら、デバッグとリリースのDLLは、名前の衝突なしに同じディレクトリに共存することができるからです。 –
@ Nathanなぜあなたはそれらを同じディレクトリに存在させたいのですか? Debug \ Release \ Whateverディレクトリを持つのは、*非常に*標準です。 –