Trong .NET Core 1.0 và 1.1, cần thiết đặt PackageTargetFallback
khi tham chiếu các gói được biết là hoạt động trên .NET Core nhưng không hỗ trợ chính thức - ví dụ: Thư viện PCL hoặc thư viện được tạo cho biệt danh khung dotnet
cũ.
Do đó, dự án (.csproj
, .fsproj
...) sẽ chứa một dòng tương tự như:
<PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
Trong hầu hết các trường hợp, dòng này chỉ có thể được gỡ bỏ và dự án nên xây dựng vì. NET Core 2.0 đã định nghĩa AssetTargetFallback
là net461
- nghĩa là mọi gói NuGet tương thích với .NET Framework 4.6.1 hoặc cao hơn có thể được sử dụng mà không cần cấu hình bổ sung.
Nếu đây giới thiệu nhiều build/khôi phục lỗi, thay đổi dòng để:
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
Lý do cho sự thay đổi là PackageTargetFallback
được coi là bị phản đối và cần được thay thế bằng AssetTargetFallback
mà ứng xử chỉ hơi khác nhau.
Thay đổi đột phá trong công cụ là netcoreapp2.0
và netstandard2.0
tự động đặt AssetTargetFallback
xung đột với bất kỳ giá trị PackageTargetFallback
được xác định trong tệp dự án.
Nguồn
2017-08-08 13:14:04
Cảm ơn, tôi đã mở csproj trong trình chỉnh sửa và xóa phần tử hoàn toàn như bạn đã đề xuất và nó hoạt động tốt. –
amassani