2015-08-14 26 views
5

Trong ASP.NET 5 dự án mới, có nhiều cách/nơi để kiểm soát các phiên bản .NET:NET phiên bản trong ASP.NET 5

  • Trong global.json
  • Trong dự án -> Properties, tab ứng dụng, giải pháp DNX Phiên bản SDK (điều này cũng giống như các global.json)
  • Trong dự án -> Properties, Debug tab, sử dụng cụ thể Runtime
  • Trong Package Manager Console, sử dụng dnvm list
  • Trong một c bình thường onsole trong thư mục gốc của ứng dụng, sử dụng dnvm list

Điều nào trong số này giống nhau (ngoài hai trường hợp đầu tiên) và tất cả chúng đều làm gì?

Trả lời

1

dnx trong global.json chỉ được sử dụng bởi VS. Không ai khác sử dụng nó và nếu bạn chạy ứng dụng bên ngoài VS, không có gì đảm bảo rằng nó sẽ sử dụng phiên bản đó.

Các dnx sử dụng để chạy một ứng dụng cụ thể được thiết lập theo hai cách:

  1. Hoặc vượt qua đường dẫn đầy đủ đến một đặc biệt dnx. Ví dụ: C:\dnx\dnx.exe . run
  2. dnx trên PATH được giải quyết theo độ phân giải PATH của hệ điều hành (chúng tôi không kiểm soát điều đó).

Khi bạn chạy dnvm use <version>, phiên bản cụ thể đó sẽ được thêm vào đường dẫn và sẽ được sử dụng bởi quy trình cụ thể đó và quy trình con của nó. Nếu bạn chạy dnvm use -p <version>, phiên bản dnx được thêm vào PATH của người dùng ngoài quá trình 'PATH.

Đối với VS, nếu không có phiên bản nào được chỉ định trong global.json theo mặc định, nó sử dụng dnx theo bí danh default. Bí danh mặc định được cập nhật khi bạn chạy dnvm upgrade hoặc dnvm use -p

+0

Nếu tôi đang sử dụng Bảng điều khiển quản lý gói trong VS trong dự án của mình, tôi nhận phiên bản khác với bất kỳ thứ gì tôi đã đặt trong thuộc tính chung và thuộc tính dự án. Vậy làm thế nào mà làm việc?! Bởi vì tôi muốn chạy di chuyển ef từ bàn điều khiển PM, nhưng tôi nhận được lỗi độ phân giải phụ thuộc mà tôi không thể sửa chữa ... – Sean

+0

Bảng điều khiển quản lý gói nên sử dụng dnx trên PATH –

+0

Tại sao cần phải có cài đặt 'global.json' đó? Vì vậy, khó hiểu –

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