хочу разные иконки с разными сборками в C # - PullRequest
4 голосов
/ 22 октября 2008

У нас есть продукт, но мы делаем ребрендинг, поэтому нам нужно иметь возможность создавать и поддерживать две версии. Я использовал файлы ресурсов в сочетании с некоторыми файлами #if для решения строк, изображений и всего остального, но значок программы доставляет мне проблемы. Я не мог понять это из MSDN или поиска Google. Спасибо!

Ответы [ 3 ]

4 голосов
/ 22 октября 2008

Вы имеете в виду значок приложения? Вы можете отредактировать файл проекта вручную и ввести код, подобный следующему:

<PropertyGroup>
  <ApplicationIcon Condition=" '$(Configuration)' == 'Version1' ">Icon1.ico</ApplicationIcon>
  <ApplicationIcon Condition=" '$(Configuration)' == 'Version2' ">Icon2.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Version1' ">
  <Content Include="Icon1.ico" />
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Version2' ">
  <Content Include="Icon2.ico" />
</ItemGroup>
1 голос
/ 22 октября 2008

Создание файлов значков, названных в честь вашей конфигурации. (Например, DebugOld.app.ico DebugBranded.app.ico, ReleaseBranded.app.ico)

Создание шага перед сборкой:

copy "$(ProjectDir)$(ConfigurationName).app.ico" "$(ProjectDir)app.ico"
1 голос
/ 22 октября 2008

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

В качестве альтернативы, установите шаг предварительной сборки, чтобы скопировать соответствующий значок в общее имя файла - например, копирование debug.ico или release.ico в app.ico. Немного хакерский, но я думаю, что это сработает. Таким образом, вы получите только один значок в готовых двоичных файлах.

Еще один вариант: заглянуть в файл сборки и посмотреть, как встроен значок, а затем обусловить его. Марк Грэвелл сделал это для справок в MiscUtil - проект может быть построен на .NET 2.0 или 3.5, в зависимости от конфигурации. Я подозреваю, что ресурсы могут быть обусловлены очень похожим образом.

...