Цели MSBuild не предназначены для получения параметров. Вместо этого они используют свойства, которые вы для них определяете.
<PropertyGroup>
<Environment>myValue</Environment>
</PropertyGroup>
<Target Name="Deploy">
<!-- Use the Environment property -->
</Target>
Тем не менее, общий сценарий состоит в том, чтобы вызывать цель несколько раз с различными параметрами (то есть развертывать несколько веб-сайтов). В этом случае я использую задачу MSBuild MSBuild
и отправляю параметры как Свойства:
<Target Name="DoDeployments">
<MSBuild Projects ="$(MSBuildProjectFullPath)"
Properties="VDir=MyWebsite;Path=C:\MyWebsite;Environment=$(Environment)"
Targets="Deploy" />
<MSBuild Projects ="$(MSBuildProjectFullPath)"
Properties="VDir=MyWebsite2;Path=C:\MyWebsite2;Environment=$(Environment)"
Targets="Deploy" />
</Target>
$(MSBuildProjectFullPath)
- полный путь текущего сценария MSBuild, если вы не хотите отправлять «Deploy» в другой файл.
Надеюсь, это поможет!