Во-первых, я извиняюсь за количество XML-кода, которое вы увидите, чтобы объяснить, что происходит.
У нас такая же проблема. То, что я нашел, по какой-то причине, когда в проект добавлен новый файл отчета; независимо от имени, он помещает его в конец списка в проводнике решений.
Кроме того, это место как последний ребенок в списке. После совершения TFS и потянув его обратно, узлы xml по-прежнему остаются теми же, но в вашем браузере решений файлы отображаются в правильных альфа-заказах. Однако, поскольку проект xml и explorer не синхронизированы, вы получаете восклицательные знаки.
Решение, которое я нашел для выгрузки файла проекта, вставляет и редактирует xml, помещая элемент в правильный альфа-порядок.
Пример
<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 и снова открою отметку, то файл проекта все еще испорчен, UNTIL я добавлю новый файл. Теперь мой файл помещается в конец, а loritest.rdl перемещается вверх в списке в правильный альфа-порядок.
Посмотрите мое второе изображение.
Теперь посмотрим на код файла проекта
<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 для исправления проблемы с заказом. Вы могли бы подумать, что Microsoft заметила бы эту ошибку в VS/BIDS и у нее есть исправление, но я еще ее не нашел.