由于我不再积极使用 BIML Studio 进行开发,因此我正在转换现有项目,以便可以使用 BIML Express 在 Visual Studio 中编译它们。
随着我们慢慢删除 SSIS,BIML Studio 的成本大大超过了 yield ,最终,我仍然可以使用 BIML Express 构建我需要的内容。
除了两个问题外,这在很大程度上是一种直接的转变操作:
- 项目参数(已详细记录)
- 动态重命名项目和生成的 ispac 包
第2点是我想尝试解决的问题。
我使用了 BIML Studio 项目中的现有代码,该项目使用 PackageProject Name 和 ProjectSubpath 值:
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Projects>
<PackageProject Name="Project FooBarBaz" ProtectionLevel="DontSaveSensitive" ProjectSubpath="FooBarBaz" >
<Parameters>
<Parameter DataType="String" IsRequired="true" Name="SomeParameter">abc</Parameter>
</Parameters>
<Packages>
<!-- Foreach block getting package names from Rootnode -->
</Packages>
<Connections>
<!-- some connections in here -->
</Connections>
</PackageProject>
</Projects>
</Biml>
使用上述标签,我预计项目名称会在 VS 中更改,但事实并非如此。项目名称与生成 SSIS 包之前 VS 中的值保持一致。
有谁知道使用 BIML Express 是否可以实现这一点?或者这是否类似于我们遇到的 BIML 无法生成项目参数的问题?
谢谢
最佳答案
不,BimlExpress 不会更改项目名称。
从逻辑上讲,在 Visual Studio 中激活 BimlExpress 的唯一方法是在开放的 ssis 项目的上下文中。 BimlStudio 在您编译 Biml 时创建项目定义以及包、项目参数和项目级连接管理器。
我认为要求 BimlExpress 重命名打开的现有项目会导致 VS 崩溃。 BE 不会生成新项目,这是一个尴尬的循环,您会不断生成新的 vs 实例。
最后,如果您的 BimlStudio 解决方案生成了许多项目,您也许可以在 BimlExpress 中进行相同的操作。您需要编写自己的填充程序来收集给定 PackageProject 的所有工件并写入文件。最大但最丑陋的是,您需要预先计算您的 guid 并显式地将它们分配给连接管理器、包等,然后将其填充到项目文件中。哦,我假设项目保护级别是不保存敏感。我不想知道如何破解这个坚果......
关于ssis - 有没有办法在 BIML Express 中使用 BIML 来重命名项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56438809/