Как изменить имя сборки в зависимости от конфигурации (и запустить отладчик) - PullRequest
1 голос
/ 02 июля 2019

У меня есть проект Visual Studio C # .exe, в котором я отредактировал .csproj, чтобы определить разные имена сборок в зависимости от конфигурации сборки:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ConfigADebug|AnyCPU'">
    <AssemblyName>MyNameA</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ConfigBDebug|AnyCPU'">
    <AssemblyName>MyNameB</AssemblyName>
</PropertyGroup>

Это прекрасно работает во время компиляции, но когда я меняю, например, с ConfigADebug на ConfigBDebug в IDE и начинаю отладку, я получаю сообщение об ошибке, которое указывает, что MyNameA.exe не найден. Но на самом деле я отлаживаю MyNameB.exe

Единственный обходной путь, который я нашел (также упоминается в комментарии в этой теме ), - перезагрузить проект после изменения конфигурации.

Есть ли способ, которым я могу сделать это без перезагрузки проекта?

1 Ответ

1 голос
/ 02 июля 2019

Я подозреваю, что нет.

Файлы MSBuild и проекта обеспечивают гораздо большую гибкость, чем Visual Studio IDE.Что-то, отредактированное в файле проекта, будет работать, но не так много.

В проектах Core вы можете иметь несколько параметров отладки, которые могут указывать на другой исполняемый файл запуска.Вам потребуется изменить выбранную конфигурацию отладки вместе с целевой платформой.

С помощью Framework вы можете связать параметры конфигурации с конфигурацией сборки, чтобы настроить запуск внешней программы.

(Это для консольных проектовДругие типы проектов различаются.)

...