Visual Studio 2010でC#アプリケーションを使用しています。構成ごとのアセンブリ名が必要です。つまり、デバッグとリリースの設定には異なるアセンブリ名が必要です。だから私はcsprojを以下のように編集しました。デバッガは、アセンブリ名が間違っているアセンブリを起動しようとします。
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<...>
<...>
</PropertyGroup>
<Choose>
<When Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<PropertyGroup>
<AssemblyName>MyApplication</AssemblyName>
</PropertyGroup>
</When>
<When Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<PropertyGroup>
<AssemblyName>MyApplicationd</AssemblyName>
</PropertyGroup>
</When>
</Choose>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<...>
<OutputPath>..\..\..\..\utils\debug\Project\x64\</OutputPath>
<...>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<...>
<OutputPath>..\..\..\..\utils\release\Project\x64\</OutputPath>
<...>
</PropertyGroup>
</Project>
ビルドは成功だったと私はMyApplication.exeリリース構成用とデバッグ構成のためのMyApplicationd.exeを得ました。しかし、F5/F10を使ってプロジェクトをデバッグモードで実行すると、以下のエラーが発生します。
デバッグ対象が であるため、Visual Studioはデバッグを開始できません。プロジェクトをビルドして再試行するか、OutputPathと AssemblyNameプロパティを、ターゲットアセンブリの正しい場所 を指すように適切に設定してください。
どうすれば解決できますか?プロジェクトファイルの設定に基づいて異なるアセンブリ名を指定するにはどうすればよいですか?
[ビルド]メニューの下にビルド構成マネージャを確認し、あなたのプロジェクトのビルドオプションを有効にするには?または、AssemblyConfiguration属性を使用します。http://stackoverflow.com/questions/1093338/vs2008-outputting-a-different-file-name-for-debug-release-configurations –
@Jack Zhai:ビルドは成功しました。問題は、デバッグモードでデバッグできないことです。これは、 "MyApplication.exe"が見つからないことを示します(つまり、デバッガは間違ったAssemblyNameでアセンブリを起動しようとします)。しかし、リリースモードでデバッグすることができます。 – Kaizen