#c# #visual-studio-2010
#c# #visual-studio-2010
Вопрос:
Я хочу, чтобы мой скрипт сборки автоматически добавлял (или удалял) файлы из моего проекта c # при сборке. Я вижу записи в файле csproj, которые сообщают vs2010, что файл находится в проекте, относительно просты.
Я думаю, что могу просто отредактировать файл csproj с помощью сценария сборки, чтобы добавить файлы, которые должны быть там, и удалить файлы, которые не должны основываться на некоторой логике, выполняемой сценарием сборки.
Кто-нибудь попытается отговорить меня от этого?
Спасибо
Айзек
Комментарии:
1. Если вы знаете, что вас нужно отговорить от этого, вы знаете, что это плохая идея. Вы спрашиваете, почему это плохая идея?
2. Должны ли мы предполагать, что у вас есть веская причина для этого?
Ответ №1:
Это не обычное дело, нет.
Мне это не нравится по очень простой причине: если вы запустите скрипт сборки в своей локальной кассе, это изменит оформление заказа. Идеальный сценарий сборки, по моему мнению, обратим простым удалением выходных данных сборки и любых промежуточных каталогов.
Если вы хотите включить / исключить файл в зависимости от того, где он собран, то лучше всего создать дополнительную конфигурацию сборки, задать в ней специальный условный символ компиляции и использовать #if в исходном файле.
В качестве альтернативы вы могли бы просто добавить Condition
атрибут к файлу в .csproj, поскольку это всего лишь файл MSBuild. Что-то вроде этого:
<ItemGroup>
<Compile Include="Something.cs" Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "/>
(примечание — Я не тестировал вышеописанное, но я думаю, что это должно сработать)