Xamarin.android 是否可以将VSTS构建变量直接引用到Xamarin项目代码中?

Xamarin.android 是否可以将VSTS构建变量直接引用到Xamarin项目代码中?,xamarin.android,azure-pipelines,Xamarin.android,Azure Pipelines,目前正在探索在VSTS构建变量中配置app secret的选项,然后在xamarin.Android项目中引用其中的构建变量。这可能吗?我知道我们可以使用脚本从build变量更新项目。但是寻找一种简单直接的方法。其想法是为不同的构建配置提供不同的应用程序机密 有人有这方面的经验吗 是的,您可以使用build变量替换您在Xamarin.android代码中定义的密码(假设该密码存储在MainActivity.cs) 选项1:使用扩展任务 在变量选项卡中添加变量(如密码),并将该值设置为您希望在代

目前正在探索在VSTS构建变量中配置app secret的选项,然后在xamarin.Android项目中引用其中的构建变量。这可能吗?我知道我们可以使用脚本从build变量更新项目。但是寻找一种简单直接的方法。其想法是为不同的构建配置提供不同的应用程序机密


有人有这方面的经验吗

是的,您可以使用build变量替换您在Xamarin.android代码中定义的密码(假设该密码存储在
MainActivity.cs

选项1:使用扩展任务
  • 在变量选项卡中添加变量(如密码),并将该值设置为您希望在代码中使用的值
  • 在生成定义中添加替换令牌任务

    根目录:您的
    MainActivity.cs
    存储在或父目录中的位置

    目标文件:
    **\MainActivity.cs

    空值:
    密码

  • 将密码设置更改为
    secret=“#{password}#”在您的代码中。该任务将以
    {
    开始替换零件,以
    }
    结束
选项2:使用PowerShell任务 假设代码中定义的密码为
secret=“password”

  • 在变量选项卡中添加变量(如
    标记
    ),并将该值设置为要替换的值
  • 在生成定义中添加PowerShell任务

    类型:内联脚本

    内联脚本:

    $path=“$(Build.SourcesDirectory)\project\project\MainActivity.cs”
    (获取内容$path)-替换“密码”$(令牌)|输出文件$path

对于MAC,您可以使用shell脚本,如下所示:

cd/to/the/path/the/file/exist

找到-键入f-name“MainActivity.cs”| xargs sed-i''s/password/$(token)/g'

谢谢。但是我们正在使用macbuildagent来构建Xamarin.Android项目。您是否有任何示例bashshell脚本来替换它?这个扩展在Mac环境下可以工作吗?由于某些构建任务只能在Windows环境下工作,我在回答的最后添加了shell脚本。很抱歉,我目前没有mac电脑,你可以自己测试。它可能适用于mac,因为主要功能是查找和替换(与其他操作系统没有区别)。