Có ai biết cách thực hiện việc này không? Tôi đã xây dựng một lớp backend C# trong asp.net nhưng muốn truy cập vào các lớp tương tự này mà không cần tạo lại chúng trong Silverlight. Đây có phải là một khả năng?tham chiếu asp.net C# lớp/phương pháp trong dự án silverlight
Trả lời
Bạn có thể sử dụng lại tệp cs bằng cách thêm chúng vào dự án của bạn AS LINK. Nhấp chuột phải vào dự án của bạn và chọn Thêm Hiện có ... Duyệt đến tệp của bạn và trong Nút Mở, sử dụng mũi tên kéo xuống ở bên phải để chọn Thêm Dưới dạng Liên kết. Bạn sẽ thấy tệp được thêm vào dự án của bạn với biểu tượng có biểu tượng Windows Shortcut nhỏ được phủ lên đó.
Chỉ cần nhớ - ASP.Net chạy trên thời gian chạy .Net. Silverlight chạy trên CoreCLR (thời gian chạy Silverlight.) Không phải tất cả mọi thứ mà biên dịch trong oone sẽ biên dịch trong khác ...
Để tách biệt một chút, #if chỉ thị có thể giúp, bạn cũng có thể sử dụng một phần Lớp học và một phần phương pháp (để thêm nội dung chỉ chạy trên máy chủ hoặc trên máy khách.)
Vâng, ASP.NET tự sẽ không làm việc (ditto nhiều của toàn bộ thư viện), nhưng tôi giả sử bạn chỉ có nghĩa là bạn mô hình miền địa phương vv
IIRC bạn thể cố gắng chỉ đơn giản là tham khảo nó, nhưng nó cũng có thể tạo ra một thông điệp cảnh báo. Tất nhiên, bạn cần đặc biệt cẩn thận để không sử dụng bất kỳ thứ gì mà nền tảng khác không hỗ trợ ...
IMO, tùy chọn tốt hơn ở đây là tạo csproj thứ hai bao gồm các tệp .cs (hoặc lừa một ký tự đại diện/bao gồm sâu). Và xây dựng cả hai. Cùng C#, dll/nền tảng khác nhau.
Không phải là hiếm khi thấy rằng bạn cũng cần rất nhỏ cách sử dụng của #if
chỉ thị.
cùng một câu hỏi mà tôi đã hỏi avidgator trên – locoboy
@ cfarm54 - cùng một câu trả lời ... –
WCF RIA Services có thể giúp bạn giải quyết vấn đề của mình. Silverlight không sử dụng cùng thời gian chạy như ASP.Net và bạn không thể trực tiếp chia sẻ các assembly có chứa các lớp mô hình trên máy khách và phía máy chủ. Để giải quyết các dịch vụ WCF RIA sẽ tạo ra các lớp một cách minh bạch trên phía máy khách dựa trên các lớp mô hình ở phía máy chủ. Rõ ràng WCF RIA Services cũng sẽ cho phép bạn tạo, đọc, cập nhật và xóa các đối tượng của các lớp này bằng cách sử dụng một dịch vụ web.
MSDN có thông tin cụ thể hơn về WCF RIA Services Client Code Generation.
làm thế nào khó khăn này để tìm hiểu? – locoboy
@ cfarm54: Tôi không biết làm thế nào để đo lường nó là khó khăn như thế nào, nhưng bạn có thể thử một số mẫu trên MSDN (theo liên kết của tôi) và xem cho chính mình. Nếu bạn không cần dịch vụ web thì có lẽ gợi ý của Marc Gravell trong đó các tệp nguồn được chia sẻ bằng cách sử dụng các liên kết đơn giản hơn. –
Dịch vụ RIA chắc chắn là cách để đi để chia sẻ mã giữa ASP.Net và Silverlight.
Cũng như mô hình dịch vụ miền đã đề cập trước đó, nó cũng cho phép bạn chia sẻ các tệp riêng lẻ giữa ứng dụng web và Silverlight bằng cách chỉ cần chèn "được chia sẻ" vào tên tệp. ví dụ. "MyClass.shared.cs".
Dịch vụ RIA không mất nhiều thời gian để có được các điều khoản (và có hướng dẫn tốt về). Try this one.
- 1. Cách sử dụng lớp XDocument trong Dự án Silverlight (C#)
- 2. tham chiếu lớp app_code trong dự án ứng dụng web
- 3. Tham chiếu đến mã C# từ nhiều dự án
- 4. Các lớp dự án EJB được tham chiếu không được tìm thấy trong dự án Web (tham chiếu)
- 5. C# câu hỏi tham khảo dự án
- 6. Dự án Visual Studio Tham khảo giải pháp bên trong
- 7. Cách tham chiếu một dự án Java khác trong Eclipse
- 8. Thêm cùng một tham chiếu "* .dll" vào nhiều dự án trong cùng một Giải pháp
- 9. Cách chính xác để tham chiếu hình ảnh trong dự án asp.net mvc 4 là gì?
- 10. tương tác giữa dự án C# và dự án C++ trong cùng một giải pháp
- 11. VS2010 Tìm tất cả các tham chiếu đến dự án trong giải pháp
- 12. MVC 3.0 RC tạo lỗi tham chiếu dự án mới
- 13. Visual Studio 2012: Dự án không thể tham chiếu
- 14. Thêm một tham chiếu giữa các dự án Java Eclipse
- 15. Sự khác nhau giữa tham chiếu dự án và phụ thuộc dự án là gì?
- 16. Thông tư liệu tham khảo trong tôi C# dự án
- 17. Tất cả các dự án tham chiếu tiểu dự án phải cài đặt gói NuGet Microsoft.Bcl.Build (C#/Windows Phone 7)?
- 18. Thiết lập Dự án Web động Eclipse tham chiếu dự án khác
- 19. Làm cách nào tôi có thể tham chiếu chế độ xem Chính trong một dự án khác trong ASP.NET MVC?
- 20. Làm cách nào để chuyển đổi dự án Thư viện lớp C# thành Dự án Silverlight?
- 21. Bao gồm tệp .config của dự án được tham chiếu
- 22. Dự án Eclipse 3,4 GWT 1.6 - cách tham chiếu nguồn từ các dự án khác?
- 23. ASP.NET giải pháp với dự án thư viện lớp
- 24. TypeScript: Nhiều dự án trong giải pháp
- 25. Vấn đề Eclipse: tham chiếu dự án chính nó
- 26. tham chiếu dự án không cắm vào dự án plugin eclipse
- 27. Danh sách All Controls trong C# ASP.NET Dự án
- 28. Làm thế nào để bạn tham khảo một dự án C# từ một dự án C++/CLi trong cùng một giải pháp
- 29. Tham chiếu DLL trong Visual C++
- 30. Bất kỳ dự án Silverlight thực nào?
vậy, điều này có nghĩa là nó gần như thông minh hơn để xây dựng một lớp giống hệt nhau trong dự án Silverlight không có chắc chắn rằng mọi thứ sẽ biên dịch? – locoboy
@ cfarm45: cách thông minh nhất để đi hầu hết luôn là mã có ít mã nhất. Nếu bạn cấu trúc lại các lớp miền của bạn để chúng không phụ thuộc vào asp.net, bạn có thể tái sử dụng chúng. Sao chép mã luôn luôn là kế hoạch B. –
@ jdv ok tôi sẽ thấy những gì tôi có thể làm – locoboy