Ваш tools/install.ps1
может делать то, что он хочет с файлом C #, так как он «установлен», чтобы он мог обрабатывать его во время включения - это может быть либо с использованием встроенных элементов $(x)
или $(expression)
в многострочном режиме строка, которая расширяется условно (возможно, имея набор function
s, который расширяется до кода C # как [string]
s, формируя компоненты выражения), т. е. шаблонизируя, или вы можете передать Get-Content
через некоторые -replace
s , (Вероятно, вы увидите примеры людей, использующих T4 для этого, но если NuGet - это грузовик для доставки, стыдно не использовать его. Если вы чувствуете себя предприимчивым, вы можете сделать настоящий парсер (или просто там тоже бедняк)
Другим способом может быть использование partial
классов и предоставление слота install.ps1
в правом файле настройщика рядом с основным.
Или же вы просто не пытались достаточно усердно, чтобы оптимизировали свои #ifdef SILVERLIGHT
s , используя подобные трюки, чтобы вернуться на лошадь .