2009-12-11 33 views
6

Trong Visual Studio 2008 Team System, đây là lời cảnh báo của tôi:WPF Cảnh báo với VSTS: giá trị checksum khác nhau đưa ra cho '* .g.cs' Files

Different checksum values given for '<some folder>' ...\Visual Studio 2008\Projects\... 
\Debug\...\SomeFile.g.cs 

Dòng vi phạm trong file SomeFile.g.cs là:

#pragma checksum "..\..\..\..\..\..\...\SomeFile.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "A18BC47B27EC4695C69B69F1831E3225" 

tôi đã xóa tất cả của *.g.cs file trong giải pháp và xây dựng lại và tất cả của những lời cảnh báo trở lại. Cái quái gì đây?

+1

Bạn có cơ hội có một số tệp được tạo với đường dẫn thực sự dài không? Cảnh báo này có nghĩa là có hai tệp có cùng tên và Visual Studio không thể xác định được tệp nào để gỡ lỗi, nhưng có thể nó cắt bớt đường dẫn tại một điểm nhất định khi so sánh chúng với nhau. –

Trả lời

10

Dường như Visual Studio không xử lý đường dẫn rất dài một cách chính xác khi tạo GUID. Tôi đã xác nhận điều này bằng cách thêm hai tệp khác nhau vào một đường dẫn dài và sao chép hành vi mà bạn đang thấy. Nếu bạn nhìn vào các tệp SomeFile.g.cs vi phạm, bạn sẽ nhận thấy rằng các hướng dẫn cho hai tệp này giống nhau. Rõ ràng Visual Studio chỉ kiểm tra các ký tự đầu tiên x của đường dẫn tệp khi tạo GUID này.

C:\Users\Developer\Documents\Visual Studio 2008\Projects\WpfApplication1\WpfApplication1\obj\Debug\LongFolderNameLongFolderNameLongFolderName\LongFolderNameLongFolderNameLongFolderName\LongFolderNameLongFolderNameLongFolderName\SomeFileName1.g.cs(1,1): warning CS1697: Different checksum values given for 'c:\Users\Developer\Documents\Visual Studio 2008\Projects\WpfApplication1\WpfApplication1\LongFolderNameLo' 
C:\Users\Developer\Documents\Visual Studio 2008\Projects\WpfApplication1\WpfApplication1\obj\Debug\LongFolderNameLongFolderNameLongFolderName\LongFolderNameLongFolderNameLongFolderName\LongFolderNameLongFolderNameLongFolderName\SomeFileName2.g.cs(1,1): (Related location) 

Từ các tập tin .g.cs:

#pragma checksum "..\<snipped>\SomeFileName1.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "F21D94943016E57893CEB405BE12ADEA" 
#pragma checksum "..\<snipped>\SomeFileName2.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "C67F2F8C841E2C338E5FCDC5037E8454" 

Đối với một giải pháp, tôi đoán bạn có thể rút ngắn con đường của bạn hoặc (nhiều khả năng) phớt lờ những cảnh báo này. :)

+0

Tôi sẽ xác nhận nó ở phần cuối của tôi nhưng điều này giống như giải pháp đúng! – rasx

+0

Đã xác nhận! Đây là * giải pháp! – rasx

+0

Điều này có được nâng lên với Microsoft không? –

Các vấn đề liên quan