Ssis 将项目级参数指定给BIMLScript中的变量

Ssis 将项目级参数指定给BIMLScript中的变量,ssis,biml,Ssis,Biml,我正在尝试读取bimlscript中的project.params参数。我已经试过使用正确的语法,但我一直遇到一个错误“逐字说明符后面的关键字、标识符或字符串:@” 有人能告诉我做这件事的正确方法吗?非常感谢。提供了Biml的样品包 <Biml xmlns="http://schemas.varigence.com/biml.xsd"> <Packages> <Package Name="so_59375738" >

我正在尝试读取bimlscript中的project.params参数。我已经试过使用正确的语法
,但我一直遇到一个错误“逐字说明符后面的关键字、标识符或字符串:@”


有人能告诉我做这件事的正确方法吗?非常感谢。

提供了Biml的样品包

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
    <Packages>
        <Package Name="so_59375738" >
            <Parameters>
                <Parameter Name="Environment" DataType="Int32">1</Parameter>
            </Parameters>
        </Package>
    </Packages>
</Biml>
大概,当包(so59375738)构建出来时,我们知道参数
Environment
从我们的元数据存储库初始化为什么,所以在我看来,返回存储库并从那里访问值会更干净


除非这是一项识别、记录和返工现有产品的工作,否则是的,显然您将无法访问原始元存储。

如果不是1000%明显,您的代码将是
var env=pm.Value在我打印注释的第一个示例中
<#@ template tier="999" #>
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<#
foreach(AstPackageNode p in this.RootNode.Packages)
{
    foreach(var pm in p.Parameters)
    {
        WriteLine(string.Format("<!-- {0}:{1}->{2} -->", p.Name, pm.Name, pm.Value));
    }
}

// Explicit approach
WriteLine(string.Format("<!-- {0}:{1}->{2} -->", this.RootNode.Packages["so_59375738"], this.RootNode.Packages["so_59375738"].Parameters["Environment"].Name, this.RootNode.Packages["so_59375738"].Parameters["Environment"].Value));

#>
</Biml>