У меня есть приложение C# с Visual Studio 2010. Мне нужны имена сборки для каждой конфигурации. То есть мне нужны разные имена сборок для настройки отладки и выпуска. Поэтому я отредактировал мой 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: Построение было успешным. Проблема в том, что я не могу отлаживать режим Debug. Он сообщает, что «MyApplication.exe» не найден (т. Е. Отладчик пытается запустить сборку с неправильным AssemblyName). Но возможность отладки в режиме выпуска. – Kaizen