2016-10-25 20 views
12

Microsoft cho biết nền tảng của nó là trung tính trong những ngày này, vì vậy tôi đang cố gắng xây dựng trên Mac và Linux chỉ với Mã VS và triển khai Azure. Tại sao? Đó là chủ yếu để chứng minh rằng tôi có thể.Chia sẻ một DLL giữa các dự án

Dự án của chúng tôi có một số phần bao gồm một vài trang web khác nhau, API Web, API er và một vài bit khác. Trên máy Mac của tôi, tôi đã xây dựng một Thư viện lớp Net .Net với một tải các đối tượng trong. Dòng lệnh, xây dựng dotnet, DLL ra, không có vấn đề gì.

Tôi muốn đặt DLL đó trên máy Linux nơi trang web MVC đang được xây dựng - các đối tượng tạo thành một phần mô hình của trang web đó hy vọng. Tôi không thể tìm ra cách để có được dự án trang web để tham khảo DLL của tôi và sử dụng các đối tượng.

Tôi đã giả sử tôi sao chép nó vào máy khác, đặt nó vào thư mục bin của trang web đang được phát triển và tham chiếu nó trong phần Phụ thuộc của project.json của trang web. Không. Tôi thấy một vài bài báo nói. Net Core chỉ làm việc với NuGet và nó phải là một gói. Điều đó có thực sự đúng không?

Tôi đã tìm thấy và đọc (nếu không hiểu hoàn toàn) mọi thứ bạn có thể tưởng tượng khi chia sẻ giữa .net core và .net framework. Đây là một dự án lõi chỉ nên không áp dụng. Thành thật mà nói tôi bị lạc, và một cái gì đó gọi là. Net Standard vừa mới bước vào tầm nhìn của tôi.

Trả lời

13

Vì vậy, thay vì sao chép tệp DLL, hãy sử dụng dotnet pack để tạo gói nuget trên máy Mac của bạn và sao chép thay vào đó, vào máy Linux của bạn. Đặt nó vào một thư mục mà bạn cấu hình như một kho lưu trữ cục bộ (không có máy chủ hoặc bất cứ thứ gì được yêu cầu) và bạn đang đi.

Tôi đồng ý nó không đơn giản như một tham chiếu đến một DLL, nhưng nó không quá tệ. Lưu ý rằng bạn sẽ cần phải phiên bản gói một cách thích hợp, để hệ thống công cụ có thể phát hiện khi nó được thay đổi.

+0

Và chúng tôi có một người chiến thắng. Một khi tôi nhận được mục nhập cho một kho lưu trữ cục bộ trong * đúng * nuget.config tôi đã đi. Tôi lãng phí một giờ chiều nay cố gắng và thất bại với điều đó. Hóa ra tôi có nuget nhìn vào /users/me/.config/nuget và quá trình khôi phục dotnet sử dụng một trong /users/me/.nuget/nuget/ để thay thế. Bởi vì tại sao không ... Vì vậy, dù sao đi nữa, đã sắp xếp, đã khôi phục lại dotnet qua Mã VS và tất cả đều tốt trong thế giới của tôi. Cảm ơn đã giúp đỡ :) –

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