10

Khi tôi mở một dung dịch chứa một dự án MVC3 trong Visual Studio 11 Beta, tôi thấy thông báo sau:"Thiếu thành phần web" lỗi khi mở dự án MVC3 trong Visual Studio 11 Beta

The Web project 'Landboss.Web' requires missing web components to run with Visual Studio. Would you like to download and install them using the Web Platform Installer now? (Note: Some components might require restart to take effect.) ASP.NET Web pages with Razor syntax 1.0.0.0

Dự án Web 'Landboss.Web' yêu cầu thiếu các thành phần web để chạy với Visual Studio. Bạn có muốn tải xuống và cài đặt chúng bằng cách sử dụng Trình cài đặt Nền tảng Web ngay bây giờ không? (Lưu ý:. Một số thành phần có thể yêu cầu khởi động lại để có hiệu lực)

ASP.NET trang Web với cú pháp Razor 1.0.0.0

Khi tôi bấm , Web Platform Installer sẽ mở ra và nói với tôi này:

enter image description here

The product you are trying to install is not supported on your operating system. Click here for more information.

Cho đến nay tôi đã cài đặt Visual Studio 11 Beta trên hai máy và cả hai đều có cùng một vấn đề.

Trả lời

7

Tôi tin rằng điều này là do thực tế là trước đây tôi đã cài đặt Visual Studio 11 Developer Preview. Tôi đã gỡ bỏ cài đặt nó trước khi cài đặt bản Beta, nhưng bạn biết nó đi như thế nào.

Để khắc phục nó, tôi đã làm như sau:

  1. gỡ bỏ cài đặt "Microsoft ASP.NET MVC 3 - Visual Studio 11 Công cụ Update"
  2. gỡ bỏ cài đặt "Microsoft ASP.NET Trang Web - Visual Studio 11 Công cụ "
  3. Chạy Visual Studio 11 Beta" Sửa chữa "từ cài đặt ISO.

Đã hoạt động! Làm nổi bật cú pháp cú pháp và intellisense đang trở lại, và thông điệp cảnh báo không còn hiển thị khi tôi mở dự án.

+13

Một lưu ý cho bất kỳ ai tìm kiếm giải pháp cho lỗi tương tự trong VS2010: nếu bạn cài đặt MVC4 mà không cài đặt MVC3, rồi thử cài đặt MVC3, trình cài đặt có vẻ thành công, nhưng trên thực tế MVC3 chưa được cài đặt, và bạn sẽ gặp lỗi tương tự trong VS2010. Trước tiên, bạn phải bỏ cài đặt MVC4, sau đó cài đặt MVC3 và sau đó cài đặt lại MVC4. Và thế thì bạn sẽ vàng. –

+0

@Michael Teper Cảm ơn. Chỉ cần kiểm tra, trong bảng điều khiển Gỡ cài đặt, bạn nên xóa bảng điều khiển này? Hoặc tất cả chúng nên được loại bỏ? "Microsoft ASP.Net MVC 4 (Gói)" hoặc "Microsoft ASP.Net MVC 4 - Công cụ Visual Studio" hoặc "Microsoft ASP.Net MVC 4"? – cofiem

+0

@cofiem Đã lâu rồi, nhưng tôi nghĩ nếu bạn bắt đầu với (Bundle), nó sẽ tự động gỡ cài đặt phần còn lại. –

3

này liên quan đến các thiết lập các trang web cấu hình: Phiên bản

[appSettings] 
... 
    [add key="webpages:Version" value="x.0.0.0" /] 
... 
[/appSettings] 

nếu bạn có nhiều phiên bản của dao cạo trên hệ thống (1 hoặc 2 cho bây giờ), tốt hơn thêm cài đặt này nếu nó bị mất tích. Chọn phiên bản bạn muốn/cần ở cấp độ thích hợp. (Rõ ràng thay thế các dấu ngoặc đơn ...)

3

Tôi cũng đã xảy ra lỗi này khi xung đột Subversion được cam kết với kho lưu trữ - sự hiện diện của khối này trong cài đặt ứng dụng của web.config dường như kích hoạt thông báo khi tải dự án:

<<<<<<< .mine 
<add key="blogCommentsApprovedByDefault" value="false" /> 
(other appsettings) 
======= 
<add key="blogCommentsApprovedByDefault" value="false" /> 
(other appsettings) 
>>>>>>> .r358 

Dọn dẹp xung đột Subversion trong ứng dụngCài đặt đã giải quyết lỗi này.

0

Tôi gặp lỗi này vì phần appSettings đã được thiết lập để được mã hóa và các khóa mã hóa không được thiết lập chính xác. Dường như lỗi này có xu hướng bật lên bất cứ khi nào có lỗi/không đúng định dạng với web.config ngay cả khi không liên quan đến MVC.

0

Tôi gặp phải lỗi này khi một thứ gì đó trong tệp web.config bị hỏng. Tôi chỉ định dạng tệp và sau đó lưu lại. Sau đó, tôi khởi động lại Visual Studio.

1

Trong khi @silent__thought's solution có thể khắc phục được sự cố, đây không phải là cách dễ nhất để khắc phục sự cố.

@Costas solution có thể giải quyết chính xác vấn đề, nhưng here is a more detailed explanation nếu bạn cần.

Trong trường hợp của tôi, tôi cần những điều sau đây trong tập tin web.config của tôi (đối với MVC 4):

<configuration> 
    <appSettings> 
    <add key="webpages:Version" value="2.0.0.0" /> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="PreserveLoginUrl" value="true" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <pages> 
     <namespaces> 
     <add namespace="System.Web.Helpers" /> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Web.WebPages" /> 
     </namespaces> 
    </pages> 
    <httpHandlers></httpHandlers> 
    </system.web> 
</configuration> 

Tất nhiên, bạn có thể không cần tất cả các cấu hình cho ứng dụng của bạn. Đây chỉ là các thiết lập mặc định cho một dự án MVC 4.

+0

Tôi gặp sự cố mà OP mô tả và chỉ kiểm tra xem tôi có tất cả các mục này trong 'web.config' ... nhưng vẫn có vấn đề không may. – J0e3gan

0

Tôi vừa bị cắn bởi điều này và đó là một biến thể khác của sự cố web.config. Trong trường hợp của tôi, chúng tôi không lưu trữ tệp web.config trong repo của chúng tôi nhưng tạo một tệp từ một mẫu làm bước xây dựng tùy chỉnh. Khi chúng ta làm sạch không gian làm việc * tập tin này đã bị xóa (đúng như vậy vì nó không có trong repo) và do đó, lần sau Visual Studio đã bắt đầu nó bị phàn nàn. Một dòng lệnh xây dựng thông qua msbuild không bao giờ bị ảnh hưởng bởi điều này.

* Chúng tôi có sạch "một phần", xóa tất cả đồ tạo tác xây dựng (bao gồm cả những lá VS phía sau) và sạch "đầy đủ" đặt lại không gian làm việc ở trạng thái giống như bạn vừa mới kéo repo.

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