保护级别在项目中期更改 - 现在项目不会构建 [英] Protection level changed mid project - now project won't build

查看:36
本文介绍了保护级别在项目中期更改 - 现在项目不会构建的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

启动了一个新的 SSIS 项目,但忘记将默认保护级别设置为不保存敏感"(我们的标准) 现在在项目中途并进行了更改(在项目级别和每个包中).选中时所有包都是不保存敏感的,项目是不保存敏感的,但是在尝试构建时,我得到 <块引用>

项目一致性检查失败.以下不一致是检测到:PACKAGE1.dtsx 的 ProtectionLevel 与项目.PACKAGE2.dtsx 的 ProtectionLevel 与项目.... PACKAGE(N).dtsx 的 ProtectionLevel 与项目.

(它列出了项目中的每个包,即使它们都符合项目级别的保护.)

解决方案

我怀疑你遇到了和我一样的问题.我通过 API 更正了我的所有包,以便它们都表明它们是不受保护的 DTS:ProtectionLevel="0".

项目 (.dtproj) 文件还具有设置为 DontSaveSensitive 的保护级别.

对我来说不匹配的是在项目文件中,它跟踪了关于每个包的太多信息,所以如果你向下滚动,你会看到每个包的条目,比如3 或任何默认数字.在文件中设置 0(搜索和替换).保存项目文件,它现在将构建.

您可能需要执行 Build All 才能构建它.我怀疑 VS/SSDT 试图使用它存储在 .dtproj 文件中的额外数据来确定它是否需要验证项目中的所有包.由于我们手动编辑了该文件,因此它不会触发通常会翻转的任何传感器以表示需要完全重新编译.

Started a new SSIS project, and forgot to set the default protection level to "Don't save sensitive" (our standard) Now midway through the project and made the changes (at project level and in each package.) When checked all packages are Don't Save Sensitive and the project is Don't Save Sensitive, however when attempting a build, I get

Project consistency check failed. The following inconsistencies were detected: PACKAGE1.dtsx has a different ProtectionLevel than the project. PACKAGE2.dtsx has a different ProtectionLevel than the project. ... PACKAGE(N).dtsx has a different ProtectionLevel than the project.

(it lists every package in the project even though they all match the Project level protection.)

解决方案

I suspect you ran into the same issue I did. I corrected all my packages via the API so that they all indicated they were DTS:ProtectionLevel="0" which is unprotected.

The project (.dtproj) file also has a protection level which gets set to DontSaveSensitive. <SSIS:Project SSIS:ProtectionLevel="DontSaveSensitive" xmlns:SSIS="www.microsoft.com/SqlServer/SSIS">

The mismatch for me was that inside the project file, it keeps track of far too much information about each package so if you scroll down, you'll see an entry per package like <SSIS:Property SSIS:Name="ProtectionLevel">3</SSIS:Property> or whatever the default number is. Make that 0 in the file (search and replace). Save the project file and it'll now build.

You might need to perform a Build All to get it to build. I suspect that VS/SSDT is trying to use the extra data it stores in the .dtproj file to determine whether it needs to validate all the packages in a project. Since we hand edited the file, it didn't trip whatever sensor would normally be flipped to signal a full recompile was needed.

这篇关于保护级别在项目中期更改 - 现在项目不会构建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆