2012-06-15 24 views
10

Khi sử dụng RC phát triển Monodevelop và VS 2012 mới nhất để chia sẻ mã. Tôi có thể tải và sử dụng giải pháp .sln, tệp dự án .csproj và tất cả các tệp mã từ máy Mac chạy MonoDevelop và máy tính chạy Windows 7 chạy phiên bản beta 2012 mới nhất. Mã nguồn nằm trên một phần chia sẻ giữa các máy.Khi sử dụng RC mới nhất của Monodevelop và VS 2012 để chia sẻ mã, tôi gặp sự cố

Điều này hoạt động thực sự tốt ... nhưng ở một số giai đoạn khi tôi cố gắng tải lại dự án giải pháp theo MonoDevelop trên mac MonoDevelop nghĩ tệp giải pháp .sln là tệp Hex và tải và hiển thị nó hex trong Cửa sổ. Nó không nghĩ rằng nó là một tập tin giải pháp nữa!

Tôi nhận thấy các dòng tệp được chấm dứt bằng 0D 0A, điều này đúng cho PC. . Tôi biết Mac chỉ sử dụng 0D như ... nhưng nó giống như ban đầu và hoạt động. Nội dung trông ổn với tôi!

Nếu tôi tạo một giải pháp mới trên Mac MonoDevelop, hãy thả csproj đang thoát vào nó hoạt động tốt. Cho đến khi nó không ....

Bất kỳ ý tưởng nào?

+0

Điều này có xảy ra trong Visual Studio 2010 đã hoặc là vấn đề mới đối với VS 2012? – Betaminos

+0

Tôi nghĩ rằng tôi đã nhìn thấy nó pryor đến năm 2012 ... nhưng đây là lần đầu tiên tôi đã làm điều này trong sự tức giận. – AnthonyLambert

Trả lời

20

Vấn đề là các tập tin VS SLN bây giờ bắt đầu với:

Microsoft Visual Studio Solution File, Format Version 12.00 
# Visual Studio 2010 

Trong khi họ cần phải bắt đầu với:

Microsoft Visual Studio Solution File, Format Version 11.00 
# Visual Studio 2010 

Tôi đã báo cáo này để Xamarin - và họ đã có một patch - https://bugzilla.xamarin.com/show_bug.cgi?id=4919

Hoặc, chỉ cần tự hack các tập tin - đó là những gì tôi làm.

+2

Tôi luôn giữ hai bản sao của tập tin sln/csproj (một máy Mac và một Windows) và chỉ sử dụng điều khiển nguồn để kiểm tra chúng trên cả hai máy. Tôi nghĩ đây thường là một ý tưởng tốt hơn vì những vấn đề này. – jonathanpeppers