MSBuild: Как переопределить имя выходного файла, чтобы отличаться от имени сборки? - PullRequest
1 голос
/ 08 мая 2009

В моем решении 2 проекта на C #, оба из них DLL:

  • MyApp.UI.WPF.csproj
  • MyApp.UI.WinForms.csproj

Мой процесс установки гарантирует, что только один из них будет установлен в любой момент времени. Что бы это ни было, оно будет загружено загрузчиком MyApp.exe при запуске приложения пользователем.

Поскольку обе DLL содержат одну и ту же точку входа, я бы хотел использовать загрузчик как общий:

class Bootstrapper
{
    static void Main()
    {
        var asm = Assembly.Load("MyApp.UI");

        // Execute the UI entry point here.
    }
}

Это означает, что я должен дать обеим библиотекам одно и то же имя сборки в опциях проекта: «MyApp.UI». Проблема в том, что MSBuild использует имя сборки в качестве выходного имени, что создает для меня конфликт.

Можно ли убедить MSBuild использовать другое имя файла, например, название проекта?

Ответы [ 2 ]

2 голосов
/ 12 мая 2009

Вы можете добавить <PostBuildEvent> в свою сборку, чтобы переименовать выходные сборки в общее имя.

1 голос
/ 08 мая 2009

Это будет функцией задачи CoreCompile, вам придется переопределить ее, чтобы изменить параметр / out на csc. Это не рекомендуемая практика, но она достигнет вашей цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...