Bất chấp số lượng câu trả lời, tôi sẽ thêm một câu trả lời khác mà IMHO làm cho mọi thứ rõ ràng hơn một chút.
Như Rob và wrightmail đã đề cập Microsoft.Web.Infrastructure
là một gói NuGet (không cần liên kết, bạn có nó trong Trình quản lý gói NuGet).
Rõ ràng, nó đã được tham chiếu bởi dự án của bạn và đột nhiên biến mất. Một số lý do có thể tồn tại nhưng điều quan trọng là mặc dù bạn có thể đã bật Khôi phục gói tự động trong Visual Studio bằng cách:
- Quản lý các gói NuGet cho giải pháp (menu ngữ cảnh trong Solution Explorer),
- Cho phép NuGet tải xuống các gói (cài đặt) bị thiếu,
- Tự động kiểm tra các gói bị thiếu trong quá trình xây dựng trong Visual Studio (cài đặt),
các gói nhất định có thể yêu cầu cài đặt lại thủ công. Tôi không biết điều gì gây nhầm lẫn cho NuGet, có thể xóa thủ công một tham chiếu, nhưng đây là giải pháp tôi thường áp dụng trong những trường hợp như vậy. Bảng điều khiển PM sau đây giúp khôi phục một gói trong khi vẫn giữ nguyên phiên bản gốc (không cập nhật lên phiên bản mới hiện có):
Cập nhật-Gói Microsoft.Web.Infra Structure-Cài đặt lại
Có thể yêu cầu bảo toàn phiên bản nếu bạn không muốn vô tình ghi đè gói hiện có bằng phiên bản mới hơn của nó, điều này có thể loại bỏ chức năng "cũ" mà bạn có thể đã sử dụng trong dự án của mình.
Và, như một bằng chứng, mặc dù hơi dài dòng, rằng phiên bản không thay đổi, đây là kết quả đầu ra khi lệnh được thực thi:
PM> Update-Package Microsoft.Web.Infrastructure -Reinstall
Attempting to gather dependencies information for multiple packages with respect to project 'Samples.NuGet\DemoApp\DemoApp', targeting '.NETFramework,Version=v4.5.2'
Attempting to resolve dependencies for multiple packages
Resolving actions install multiple packages
...
Package removal starts here...
...
Removed package 'Microsoft.AspNet.Web.Optimization 1.1.3' from 'packages.config'
Successfully uninstalled 'Microsoft.AspNet.Web.Optimization 1.1.3' from DemoApp
Removed package 'WebGrease 1.5.2' from 'packages.config'
Executing script file 'D:\Projects\DemoApp\packages\WebGrease.1.5.2\tools\uninstall.ps1'
Successfully uninstalled 'WebGrease 1.5.2' from DemoApp
...
More package removals here. Omitted for brevity...
...
Removed package 'Microsoft.Web.Infrastructure 1.0.0.0' from 'packages.config'
Successfully uninstalled 'Microsoft.Web.Infrastructure 1.0.0.0' from DemoApp
...
More package removals here. Omitted for brevity...
...
Removed package 'Antlr 3.4.1.9004' from 'packages.config'
Successfully uninstalled 'Antlr 3.4.1.9004' from MvcLenseApp
Package 'Antlr.3.4.1.9004' already exists in folder 'D:\Projects\Lense.Mvc5\packages'
--- Install packages (in reverse order) ---
Package 'Antlr.3.4.1.9004' already exists in folder 'D:\Projects\DemoApp\packages'
Added package 'Antlr.3.4.1.9004' to 'packages.config'
Successfully installed 'Antlr 3.4.1.9004' to DemoApp
...
More package installs here. Omitted for brevity...
...
Package 'Microsoft.Web.Infrastructure.1.0.0' already exists in folder 'D:\Projects\Lense.Mvc5\packages'
Added package 'Microsoft.Web.Infrastructure.1.0.0' to 'packages.config'
Successfully installed 'Microsoft.Web.Infrastructure 1.0.0' to MvcLenseApp
...
More package installs here. Omitted for brevity...
...
Package 'WebGrease.1.5.2' already exists in folder 'D:\Projects\DemoApp\packages'
Added package 'WebGrease.1.5.2' to 'packages.config'
Executing script file 'D:\Projects\DemoApp\packages\WebGrease.1.5.2\tools\install.ps1'
Successfully installed 'WebGrease 1.5.2' to DemoApp
Package 'Microsoft.AspNet.Web.Optimization.1.1.3' already exists in folder 'D:\Projects\DemoApp\packages'
Added package 'Microsoft.AspNet.Web.Optimization.1.1.3' to 'packages.config'
...
End of package re-install.
...
Successfully installed 'Microsoft.AspNet.Web.Optimization 1.1.3' to DemoApp
PM>
Tất nhiên nếu bạn muốn cài đặt lại tất cả các gói, bạn có thể cần phải làm quen với các lệnh cập nhật / cài đặt trong NuGet tại đây và tại đây .