首先,我为您将看到的用于解释发生了什么的大量 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 顺序。
看我的第二张图。
现在看项目文件代码
<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 中的这个错误并有一个修补程序,但我还是没有找到它。