xamarin中xbuild的消息任务?

时间:2016-11-02 09:58:08

标签: xamarin msbuild xamarin.ios continuous-integration xbuild

我正在尝试使用Xamarin中的xbuild实现持续集成。我知道xbuild使用.csproj文件来编译应用程序。我想从csproj文件中打印变量'IpaPackagePath'和'OutputPath'的值。我认为(?)xbuild与msbuild类似。在msbuild中,打印值的方法是使用Message任务 以下文件部分

    <PropertyGroup>
           <CreateIpaDependsOn>
           $(CreateIpaDependsOn);
            DisplayMessages
           </CreateIpaDependsOn>
    </PropertyGroup>
    <Target Name="DisplayMessages">
        <Message Text="IPAPACKAGEPATH = $(IpaPackagePath)" />
        <Message Text="OUTPUTPATH = $(OutputPath)" />
    </Target>

    <Target Name="CopyIpa"
        Condition="'$(OutputType)' == 'Exe'
            And '$(ComputedPlatform)' == 'iPhone'
            And '$(BuildIpa)' == 'true'">
        <Copy
            SourceFiles="$(IpaPackagePath)"
            DestinationFolder="$(OutputPath)"/>    
    </Target>

我没有在控制台上打印任何消息或执行任何目标名称“DisplayMessages”。 我错了什么?

或者是否有任何方法可以在xbuild中打印变量的值?

1 个答案:

答案 0 :(得分:0)

我在Message Text(以及xbuild的OS-X版本)中使用msbuild

确保/verbosity:设置为至少minimal,因为quiet将取消Message Text输出。

用法示例:

xbuild /p:SolutionDir=~/ /target:VIEWENV Droid/Realm080.Droid.csproj

目标示例:

<!--    PlayScript   -->
<Target Name="VIEWENV" DependsOnTargets="BeforeResolveReferences">
    <Message Text="                          CscToolExe: $(CscToolExe) "/>
    <Message Text="                         CscToolPath: $(CscToolPath) "/>
    <Message Text="                       ReferencePath: $(ReferencePath) "/>
    <Message Text="                           ToolsPath: $(ToolsPath) "/>
    <Message Text="            TargetFrameworkDirectory: $(TargetFrameworkDirectory) "/>
~~~
</Target>

注意:存在于.target中引用的.csproj文件或.csproj中直接包含的文件中

示例输出:

VIEWENV:
                            CscToolExe: mcs.exe
                           CscToolPath:
                         ReferencePath:
                             ToolsPath: