2014-10-21 17 views
5

Tôi cố gắng đưa tệp .csv vào dự án xamarin.forms của mình. Vấn đề là, tôi nghĩ rằng nó chỉ có sẵn cho tất cả các nền tảng cùng một lúc khi tôi sử dụng tệp như một tài nguyên được nhúng. Hội đồng của tôi chỉ có ba phương pháp:Xamarin -> System.Reflection.Assembly.GetExecutingAssembly không hoạt động

Equals() 
Load() 
ReferenceEquals() 

Nhưng tôi cần Assembly.GetExecutingAssembly() để mã của tôi hoạt động.

Bạn có biết cách giải quyết vấn đề này không? Hoặc có thể là một sự thay thế? Btw: Tôi làm việc với Visual Studio 2013 Ultimate và Giấy phép dùng thử của Xamarin.Android/iOS

Chỉnh sửa: Tôi đoán nó phải làm sth. với Xamarin.Forms. Một ứng dụng Desktop thông thường sẽ đẩy nhanh Assembly.GetExecutingAssembly(); và nó hoạt động tốt, nhưng tôi cần nó trong App của tôi :(

Chỉnh sửa 2: Tôi thử này ngay bây giờ: http://developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/files/#Loading_Files_Embedded_as_Resources

+1

tại sao bạn cần 'Assembly.GetExecutingAssembly() 'nói riêng? có nhiều cách khác của việc thu thập các hội đồng. Bạn có biết một loại trong hội đồng đó không? Nếu vậy, 'typeof (Foo) .Assembly' có lẽ là cách tiếp cận đơn giản nhất. –

+0

Bạn có ý nghĩa gì bởi «không hoạt động»? Nó có ném không? Nó có trả về null không? Nó có trả lại một hội đồng khác không? –

+0

nó nói, không có định nghĩa cho "GetExecutingAssembly()" như tôi đã nói, lớp hội của tôi chỉ có ba phương pháp được đề cập trong câu hỏi. Và không có tôi không cần nó đặc biệt, nó chỉ là cách duy nhất làm thế nào tôi phát hiện ra những gì có thể là giải pháp. – Hendrik

Trả lời

5

Hãy làm theo cách này:

var assembly = typeof(App).GetTypeInfo().Assembly; 

Là 'App' loại hồ sơ của bạn.

tôi đã thực hiện chính xác những gì bạn muốn (đọc một tập tin csv) theo cách này.

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