2012-08-23 21 views
5

Tôi có một máy chủ lưu trữ nơi tôi đã lưu trữ trang web có tiện ích mở rộng là .cshtml. Máy chủ của tôi là arvixe.com cung cấp ASP và .NET lưu trữ nhưng khi tôi cố gắng tải trang web của mình, tôi nhận được thông báo lỗi này.Lỗi máy chủ trong ứng dụng '/'. Loại trang này không được phục vụ

Lỗi máy chủ trong ứng dụng '/'.

Loại trang này không được phân phối.

Mô tả: Loại trang bạn yêu cầu không được phân phối vì nó đã bị cấm rõ ràng. Phần mở rộng '.cshtml' có thể không chính xác. Vui lòng xem lại URL bên dưới và đảm bảo rằng URL được viết đúng chính tả.

yêu cầu URL: /samples/WoT/Default.cshtml

Version Information: Microsoft .NET Framework Version: 4.0.30319; ASP.NET Version: 4.0.30319.276

Tôi đọc một cái gì đó làm tôi phải viết một cái gì đó trong tập tin web.config của tôi để làm cho nó làm việc như thế này

<compilation> 
    <assemblies> 
    <add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    </assemblies> 
    <buildProviders> 
    <add extension=".cshtml" type="System.Web.WebPages.Razor.RazorBuildProvider, System.Web.WebPages.Razor"/> 
    </buildProviders> 
</compilation> 

Nhưng tôi đã cố gắng tất cả mọi thứ, dán nó trên các dòng khác nhau, không có gì hiệu quả. Tôi làm gì sai hoặc làm sai?

+0

là ASP.Net MVC đã được cài đặt đúng chưa? – Tom

+0

Nó có chạy trên máy tính của bạn không? – James

+0

Bạn đã từng giải quyết vấn đề này chưa? Tôi có cùng một vấn đề, khi chạy một trang MVC 4 mặc định trên máy tính dev của tôi. – Grinn

Trả lời

5

Tôi tin rằng bạn không sử dụng tính năng MVC và chỉ cố gắng tải chế độ xem dao cạo bên ngoài chế độ xem hoặc thư mục Khu vực tùy chỉnh.

Sau đó, bạn cần phải kích hoạt key trang web trong Web.config được tắt theo mặc định trong Net 4,0

<add key="webpages:Enabled" value="true" /> 
1
<appSettings> 
<add key="webpages:Enabled" value="true" /> 

0

sửa chữa này trong Windows 10 Pro sử dụng IIS 10 là một cơn ác mộng , phải mất hai ngày nhưng cuối cùng tôi đã có thể đạt được kết quả mong muốn bằng cách sử dụng quy trình sau:

  1. Mở trang web của bạn trong Visual Studio. Cách bạn thực hiện việc này là truy cập Tệp> Mới> Trang web và sau đó chọn Trang web ASP.Net trống VÀ trước khi bạn nhấp OK, hãy thay đổi vị trí thành vị trí dự án của bạn. Trong trường hợp của tôi, tôi đã có dự án của tôi trong C:\inetpub\wwwroot\AspNet\Projects\Test

  2. Trình quản lý dịch vụ thông tin internet mở (nhấp vào "cortana" tìm kiếm và gõ IIS, nó sẽ hiển thị miễn là bạn đã cài đặt). Tìm thư mục dự án của bạn dưới Tên máy chủ> Trang web> Trang web mặc định> ..., nhấp chuột phải vào nó và nhấp vào nút "Chuyển đổi sang ứng dụng web". Chấp nhận các giá trị mặc định tại dấu nhắc bằng cách nhấp vào OK phải đủ trong hầu hết các trường hợp.

  3. Sử dụng tệp Web.Config sau hoặc tương tự. NuGet có thể ghi đè lên một số cài đặt nhưng đây không phải là vấn đề lớn.

<?xml version="1.0" encoding="utf-8"?> 
 
<!-- 
 
    For more information on how to configure your ASP.NET application, please visit 
 
    http://go.microsoft.com/fwlink/?LinkId=301879 
 
    --> 
 
<configuration> 
 
    <appSettings> 
 
    <add key="webPages:Version" value="3.0.0"/> 
 
    <add key="webpages:Enabled" value="true"/> 
 
    </appSettings> 
 
    <system.web> 
 
    <compilation debug="true" targetFramework="4.0"/> 
 
    </system.web> 
 
    <runtime> 
 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
 
    </assemblyBinding> 
 
    </runtime> 
 
</configuration>

  1. Xóa bin của bạn thư mục, và packages.config tập tin, nếu chúng tồn tại. Điều này là do chúng ta phải giả định rằng một cái gì đó trong thư mục bin đó bị hỏng vì IIS được thiết kế để chạy Razor/ASP. Trong dự án studio trực quan của bạn, bạn sẽ cần phải làm mới dự án của bạn để nó biết những tập tin này đã bị xóa. Điều này có thể được thực hiện bằng cách nhấp vào nút làm mới trong menu ở đầu khung hình Giải pháp Explorer. Trong dự án studio trực quan, bạn truy cập Công cụ> Trình quản lý gói NuGet> Bảng điều khiển quản lý gói và nhập hai lệnh sau đây.

    Install-Package Microsoft.AspNet.Razor -version 3.0.0

    Microsoft.AspNet.WebPages Install-Package

Đây là đủ để có được * trang .cshtml để được trả lại bởi IIS 10 trên Windows 10 Pro.

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