1

我创建了一个包含多个 SSRS 报告项目的解决方案。每个项目都包含少量报告文件 (.RDL) 的定义。它们被分成多个项目,因为每个项目都与不同的部署目录协同工作。

我将解决方案签入 TFS 2010。我正在为开发人员准备有关如何获取解决方案的文档,因此我备份了它并将其从我的工作站中删除。我在 BIDS 2008 中执行了一个简单的“从源代码管理打开”命令。该项目是从源代码管理中提取的,并最终位于完全相同的位置,具有完全相同的文件夹结构和文件名。但是,每个项目中的每个 RDL 都有一个带有黄色图标感叹号的锁。我正在寻找显示此图标的原因,但根本看不到它。

我在互联网上研究过这个问题,但大多数情况下都是指在项目之间移动文件或缺少依赖项引用。我在这里没有这些问题。

谁能建议警告图标的原因是什么,或诊断方法?

4

2 回答 2

3

我有同样的问题。我所要做的就是关闭 BIDS exe,然后重新运行它。从“最近的项目”链接再次打开解决方案后,项目打开并且感叹号消失了!希望你现在也明白这一点。

于 2012-09-26T16:01:49.593 回答
1

首先,我为您将看到的用于解释发生了什么的大量 xml 代码表示歉意。

我们这里有同样的问题。我发现,无论出于何种原因,当一个新的报告文件添加到项目中时;无论名称如何,它都会将其放在解决方案资源管理器中列表的末尾。

此外,它会将其作为列表中的最后一个孩子。在提交到 TFS 并将其拉回 xml 节点时仍然是相同的方式,但在您的解决方案资源管理器中,文件以正确的 alpha 顺序显示。但是,由于项目 xml 和解决方案资源管理器不同步,您会看到感叹号。

我找到的卸载项目文件的解决方案进入并编辑 xml,以正确的 alpha 顺序放置元素。

例子

<Reports>
<ProjectItem>
  <Name>AccountGroupListing.rdl</Name>
  <FullPath>AccountGroupListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>ApprovalRouteListing.rdl</Name>
  <FullPath>ApprovalRouteListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BalanceSheetWCodesReport.rdl</Name>
  <FullPath>BalanceSheetWCodesReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BalanceSheetWOCodesReport.rdl</Name>
  <FullPath>BalanceSheetWOCodesReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BankAccountListing.rdl</Name>
  <FullPath>BankAccountListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BankReconDetail.rdl</Name>
  <FullPath>BankReconDetail.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BankReconSummary.rdl</Name>
  <FullPath>BankReconSummary.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BasicBudgetProof.rdl</Name>
  <FullPath>BasicBudgetProof.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BillsToBeApproved.rdl</Name>
  <FullPath>BillsToBeApproved.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>ChartOfAccountsListing.rdl</Name>
  <FullPath>ChartOfAccountsListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>DoubleEntryGuideListing.rdl</Name>
  <FullPath>DoubleEntryGuideListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>DoubleEntryPaymentProcessing.rdl</Name>
  <FullPath>DoubleEntryPaymentProcessing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>DoubleEntryReport.rdl</Name>
  <FullPath>DoubleEntryReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>DoubleEntryReportDetail.rdl</Name>
  <FullPath>DoubleEntryReportDetail.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>InvoiceForm.rdl</Name>
  <FullPath>InvoiceForm.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>InvoiceFormSelfSealer.rdl</Name>
  <FullPath>InvoiceFormSelfSealer.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PaymentHistory.rdl</Name>
  <FullPath>PaymentHistory.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PaymentRegisterDetailReport.rdl</Name>
  <FullPath>PaymentRegisterDetailReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PaymentRegisterSummaryReport.rdl</Name>
  <FullPath>PaymentRegisterSummaryReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>POByAccountCode.rdl</Name>
  <FullPath>POByAccountCode.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>POPaperlessDistibutions.rdl</Name>
  <FullPath>POPaperlessDistibutions.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PORequiresPayment.rdl</Name>
  <FullPath>PORequiresPayment.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>ProrationListing.rdl</Name>
  <FullPath>ProrationListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PurchaseOrderForm.rdl</Name>
  <FullPath>PurchaseOrderForm.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PurchaseOrderFormLineItems.rdl</Name>
  <FullPath>PurchaseOrderFormLineItems.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>ReceivablesReport.rdl</Name>
  <FullPath>ReceivablesReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>RequisitionApprovalAudit.rdl</Name>
  <FullPath>RequisitionApprovalAudit.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>RequisitionForm.rdl</Name>
  <FullPath>RequisitionForm.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>RequisitionProof.rdl</Name>
  <FullPath>RequisitionProof.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>RevenuesReport.rdl</Name>
  <FullPath>RevenuesReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>UnapprovedRequisitions.rdl</Name>
  <FullPath>UnapprovedRequisitions.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>VoidPayments.rdl</Name>
  <FullPath>VoidPayments.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>LoriTest.rdl</Name>
  <FullPath>LoriTest.rdl</FullPath>
</ProjectItem>

请注意 LoriTest.rdl 是如何出现在 VoidPayments.rdl 文件之后的。如果您查看我的图像,该图标如何带有感叹号。

解决方案资源管理器

我的同事添加了这个文件,提交了更改,然后我将它们拉下来。该文件以正确的顺序出现在解决方案资源管理器中,但不在实际项目 xml 中。如果我关闭 BIDS 并重新打开标记消失,但项目文件仍然混乱,直到我添加一个新文件。现在我的文件放在最后,并且 loritest.rdl 在列表中向上移动到正确的 alpha 顺序。

看我的第二张图。

解决方案资源管理器 2

现在看项目文件代码

<Reports>
<ProjectItem>
  <Name>AccountGroupListing.rdl</Name>
  <FullPath>AccountGroupListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>ApprovalRouteListing.rdl</Name>
  <FullPath>ApprovalRouteListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BalanceSheetWCodesReport.rdl</Name>
  <FullPath>BalanceSheetWCodesReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BalanceSheetWOCodesReport.rdl</Name>
  <FullPath>BalanceSheetWOCodesReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BankAccountListing.rdl</Name>
  <FullPath>BankAccountListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BankReconDetail.rdl</Name>
  <FullPath>BankReconDetail.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BankReconSummary.rdl</Name>
  <FullPath>BankReconSummary.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BasicBudgetProof.rdl</Name>
  <FullPath>BasicBudgetProof.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>BillsToBeApproved.rdl</Name>
  <FullPath>BillsToBeApproved.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>ChartOfAccountsListing.rdl</Name>
  <FullPath>ChartOfAccountsListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>DoubleEntryGuideListing.rdl</Name>
  <FullPath>DoubleEntryGuideListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>DoubleEntryPaymentProcessing.rdl</Name>
  <FullPath>DoubleEntryPaymentProcessing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>DoubleEntryReport.rdl</Name>
  <FullPath>DoubleEntryReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>DoubleEntryReportDetail.rdl</Name>
  <FullPath>DoubleEntryReportDetail.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>InvoiceForm.rdl</Name>
  <FullPath>InvoiceForm.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>InvoiceFormSelfSealer.rdl</Name>
  <FullPath>InvoiceFormSelfSealer.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>LoriTest.rdl</Name>
  <FullPath>LoriTest.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PaymentHistory.rdl</Name>
  <FullPath>PaymentHistory.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PaymentRegisterDetailReport.rdl</Name>
  <FullPath>PaymentRegisterDetailReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PaymentRegisterSummaryReport.rdl</Name>
  <FullPath>PaymentRegisterSummaryReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>POByAccountCode.rdl</Name>
  <FullPath>POByAccountCode.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>POPaperlessDistibutions.rdl</Name>
  <FullPath>POPaperlessDistibutions.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PORequiresPayment.rdl</Name>
  <FullPath>PORequiresPayment.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>ProrationListing.rdl</Name>
  <FullPath>ProrationListing.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PurchaseOrderForm.rdl</Name>
  <FullPath>PurchaseOrderForm.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>PurchaseOrderFormLineItems.rdl</Name>
  <FullPath>PurchaseOrderFormLineItems.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>ReceivablesReport.rdl</Name>
  <FullPath>ReceivablesReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>RequisitionApprovalAudit.rdl</Name>
  <FullPath>RequisitionApprovalAudit.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>RequisitionForm.rdl</Name>
  <FullPath>RequisitionForm.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>RequisitionProof.rdl</Name>
  <FullPath>RequisitionProof.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>RevenuesReport.rdl</Name>
  <FullPath>RevenuesReport.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>UnapprovedRequisitions.rdl</Name>
  <FullPath>UnapprovedRequisitions.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>VoidPayments.rdl</Name>
  <FullPath>VoidPayments.rdl</FullPath>
</ProjectItem>
<ProjectItem>
  <Name>DerekTest.rdl</Name>
  <FullPath>DerekTest.rdl</FullPath>
</ProjectItem>

我发现你需要做的是在你之后,即添加新文件的人,需要做的是在他们添加新报告文件之后,卸载项目文件并直接编辑项目文件以将文件放在正确的顺序。您不必绝对这样做,但是如果您在提交之前不执行获取操作,那么当多个人正在添加报告时您可能会遇到问题,因为它们在项目文件中被覆盖,但是他们,报告, 存在于源代码管理中。

希望这有助于解释发生了什么。我还没有真正找到解决这个问题的所有解决方案。我的想法是创建一个脚本或 VS 插件来解决排序问题。你会认为微软会注意到 VS/BIDS 中的这个错误并有一个修补程序,但我还是没有找到它。

于 2014-01-17T15:05:10.357 回答