Это излишне неловко , чтобы правильно сделать это на основе способа, которым Microsoft.WebApplications.targets
определяет цель _CopyWebApplication
и как Microsoft.Common.targets
обрабатывает OutDir
и OutputPath
свойства.
Если вы хотите изменить это в самом файле проекта, вам следует:
- Объявите свойство
WebProjectOutputDir
после импорта в Microsoft.WebApplications.targets
- Объявите свойство
OutDir
до импорта в Microsoft.WebApplications.targets
Есть несколько причин, почему вы должны это сделать.
Microsoft.WebApplications.targets
переопределит любое объявление WebProjectOutputDir
, если оно было объявлено перед оператором импорта. Поэтому оно должно прийти после.
Также внутри Microsoft.WebApplications.targets
_CopyWebApplication
определяется следующим образом:
<Target Name="_CopyWebApplication" Condition="'$(OutDir)' != '$(OutputPath)'" >
....
</Target>
Взглянув на условие, вы увидите, что цель не будет выполнена, если OutDir
и OutputPath
равны одному значению. Вы не можете просто изменить OutputPath, потому что OutDir
основан на OutputPath
, поэтому вы должны изменить OutDir
и убедиться, что это перед импортом в этот файл, потому что другие свойства построены на основе этого свойства.
Менее чем идеально, но, надеюсь, это поможет вам.