2015-06-22 27 views
13

Tôi đang học ASP.NET Core 1.0 (vNext). Với ý nghĩ đó, tôi có một giải pháp mà có cấu trúc như thế này:Tham khảo thư viện trong ASP.NET Core 1.0 (vNext)

MySolution 
    src 
    MyLibrary 
     MyClass.cs 
     project.json 
    MyWebSite 
     Startup.cs 
     project.json 

Tôi thành công biên soạn MyLibrary từ dòng lệnh sử dụng dnu build. Tôi đã chạy dnu pack đã tạo ra MyLibrary.1.0.0.nupkg. Ngoài ra còn có hai thư mục: dnx451dnxcore50 cả hai đều chứa MyLibrary.1.0.0.dll. Tôi muốn sử dụng MyLibrary trong số MyWebSite, tuy nhiên, tôi bị nhầm lẫn.

  1. Làm cách nào để "bao gồm" MyLibrary vào MyWebSite? Tôi có sao chép thủ công tệp .dll không? Nếu vậy thì cái nào? Tôi có nên sử dụng tệp nupkg thay thế không? Đây là một hội đồng tư nhân, tôi không muốn xuất bản nó trên toàn cầu thông qua NuGet.
  2. Tôi phải đặt gì trong số MyWebSite/project.json để tham chiếu đến cụm MyLibrary?

Trả lời

4

Bạn không cần phải công bố các gói NuGet nếu bạn don' Tôi muốn chia sẻ nó với những người/dự án khác ngoài giải pháp của bạn. Bạn chỉ có thể tham khảo gói trực tiếp từ nguồn.

Tuy nhiên, nếu điều đó vẫn không làm việc cho bạn thì bạn có ba tùy chọn:

  1. nội hóa sử dụng Roslyn. Ví dụ: project.jsonactual code
  2. Bạn có thể tham khảo trực tiếp các nguồn. Ví dụ project.json
  3. Tạo thời gian xây dựng phụ thuộc.Ví dụ project.jsonactual code for the package
+3

Liên kết đều bị hỏng –

6

Bạn đang sử dụng Visual Studio 2015 RC? Nếu như vậy thì hãy làm theo các bước sau:

  1. Mở rộng dự án web của bạn trong Solution Explorer
  2. Nhấp chuột phải vào Tài liệu tham khảo
  3. Bấm vào Add Reference ... từ menu ngữ cảnh
  4. Chọn Dự án từ Trình quản lý tham chiếu
  5. Đánh dấu vào hộp kiểm bên cạnh MyLibrary
  6. Bấm OK
  7. Lợi nhuận

Nếu bạn không sử dụng visual studio thì đây có thể đạt được bằng cách cập nhật các tập tin project.json trong dự án web của bạn.

Nếu bạn đã tạo một "vNext dự án thư viện lớp", sau đó thêm video này vào các phụ thuộc tài sản trên các đối tượng json:

"dependencies": { 
     "MyLibrary": "1.0.0-*" 
    } 
+1

Tôi đang sử dụng vNext. Tuy nhiên, nơi mà thời gian chạy tìm một thư viện được tham chiếu trong các phụ thuộc của tệp project.json? Các tập tin .dll cần phải được một nơi nào đó để các ứng dụng có thể sử dụng nó. Tôi không chắc nó thuộc về đâu. –

3
  1. Một số câu hỏi được đánh dấu bằng chữ đậm.

(Làm thế nào để "bao gồm" MyLibrary vào mywebsite?) Trong mywebsite/project.json: Thêm tài liệu tham khảo như thế này (đừng lo lắng về số phiên bản không hiển thị). Add VS2015RC class library reference

(Tôi tự sao chép trên các tập tin .dll?)

Không

(Đây là một hội đồng riêng, tôi không muốn xuất bản nó trên toàn cầu thông qua NuGet.)

Sau đó, đừng làm điều đó :)

Tham chiếu thư viện lớp học từ ứng dụng web của bạn sẽ m chắc chắn rằng nó được bao gồm khi xây dựng ứng dụng web. Sau đó, bạn nên sao chép các tệp ứng dụng web của mình vào một máy chủ ứng dụng có thể chạy nó. Tôi nghĩ bạn nên cố gắng xuất bản ứng dụng web của bạn lên ứng dụng web Azure và sau đó sử dụng trình khám phá máy chủ để xem những tệp trên máy chủ trông như thế nào sau khi xuất bản. Hoặc bạn đã biết không có lý do để thực hiện một gói trước khi sử dụng nó trong ứng dụng web của bạn?

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