Доступ к PropertyGroup за пределами цели - PullRequest
0 голосов
/ 04 июля 2018

Задача

Я определил 4 пользовательских Property на верхнем уровне PropertyGroup:

  • AndroidResourcesFolder
  • NugetFolder
  • BrandingFiles (использует NugetFolder)
  • AssemblyFile (использует BrandingFiles)

... и я хочу получить доступ к AndroidResourcesFolder из Target.

При доступе к AssemblyFile из UsingTask Property правильно разрешается , но когда я получаю доступ к AndroidResourcesFolder из Target, Visual Studio сообщает, что Property имеет нет значения:

ошибка MSB4044: задаче «Mobile.Branding.Build.Task.CleanResources» не задано значение для обязательного параметра «AndroidResourcesFolder».

код

Это мой .targets файл:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <AndroidResourcesFolder>$(MSBuildProjectDirectory)\Resources\</AndroidResourcesFolder>
    <NugetFolder>$(MSBuildThisFileDirectory)..\..\</NugetFolder>
    <BrandingFiles>$(NugetFolder)MonoAndroid81\</BrandingFiles>
    <AssemblyFile>$(BrandingFiles)\Amaris.Mobile.Branding.Build.dll</AssemblyFile>
  </PropertyGroup>


  <UsingTask
      TaskName="Mobile.Branding.Build.Task.CleanResources" AssemblyFile="$(AssemblyFile)" />
  <UsingTask
      TaskName="Mobile.Branding.Build.Task.ReadConfig" AssemblyFile="$(AssemblyFile)" />


  <Target Name="ReadConfig" >

    <PropertyGroup>
      <ConfigFile>$(MSBuildProjectDirectory)\branding.xml</ConfigFile>
    </PropertyGroup>

    <Mobile.Branding.Build.Task.ReadConfig 
      ConfigFile="$(ConfigFile)" />

  </Target>

  <Target Name="BeforeClean" DependsOnTargets="ReadConfig" >

      <Mobile.Branding.Build.Task.CleanResources 
        AndroidResourcesFolder="$(AndroidResourcesFolder)" />

  </Target>

</Project>

Вопрос

Почему только 3 Property разрешено , а остальные (AndroidResourcesFolder) опущены?

Спасибо!

...