8

chúng tôi đang chạy một số trang web của chúng tôi dưới dạng các dự án trang Web trong Visual Studio. Gần đây, chúng tôi đã nâng cấp lên VS2015. Bây giờ chúng tôi không thể thêm các thư mục ảo vào các trang web mới.Visual Studio 2015 - Thêm thư mục ảo không thể

Chúng tôi đã thử bấm chuột phải vào "Thêm mới direcory ảo", nơi chúng tôi nhận được một thông báo lỗi cũng như chỉnh sửa applicationhost.config trong thư mục dự án.

Đây có phải là lỗi với VS2015 hoặc có cách tạo thư mục không? Không có vấn đề với dự án đã chạy trên IIS Express trước khi nâng cấp lên VS2015.

PS: Tôi biết chủ đề here nhưng không hiệu quả.

Trả lời

6

Trang web Hệ thống tệp thành IIS Express.

  1. mở VS2015 (Nhấp chuột phải và chọn Run as administrator ).
  2. Nhấp vào Tệp> Mới> Trang web ...
  3. Trong hộp thoại Web Site mới, hãy bấm Duyệt ....
  4. Chọn Địa phương IIS trong ngăn bên trái. Và chọn Các trang web IIS Express trong ngăn bên phải.
  5. Có 4 nút ở bên phải trên cùng. Nhấp vào Tạo trang web mới.
  6. Đặt tên và nhấp vào Mở. Điều này sẽ chọn HTTP ở vị trí Web.
  7. Nhấp vào OK.
  8. Sau đó đóng giải pháp.
  9. Mở applicationhost.config từ Thư mục Users \\ Documents \ IISExpress \ config. Bạn có thể mở trong notepad.
  10. Tìm trang web của bạn trong các trang web phần. Và thay đổi đường dẫn vật lý bên trong (virtualDirectory path = "/" physicalPath = "C: \ WebApp \ WebSite1"). Viết đường dẫn của dự án Web hiện tại của bạn.
  11. Lưu và đóng tệp applicationhost.config.
  12. Chạy VS2015 (Chạy với tư cách là quản trị viên).
  13. Nhấp vào Tệp> Mở> Trang web ...
  14. Trong hộp thoại Mở Web Site, chọn Local IIS từ ngăn bên trái.
  15. Chọn trang web của bạn dưới Trang web IIS Express và nhấp vào Mở.
  16. Bấm trang web menu và New Virtual Directory ...
  17. Give Bí danh Tên và thư mục đường dẫn và nhấn OK.

Bây giờ bạn có thể tạo nó mà không gặp lỗi.

2

Alternative nếu bạn có tập tin giải pháp "sln", sau đó làm theo các bước sau:

  1. Dùng notepad mở file giải pháp.

  2. Tìm hàng bắt đầu với dự án ("{

Ví dụ:

dự án (" {E24C65DC-7377-472B-9ABA-BC803B73C61A} ") =" WebProject1 "," WebProject1 ", ......

Sau đó thay đổi thành:

dự án ("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "WebProject1", "http://localhost:12345/WebProject1", ......

Và thêm tài sản mới

SlnRelativePath = "C: \ WebProject1 \"

trong ProjectSection (WebsiteProperties)

Trong ví dụ, các ProjectSection từ

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "WebProject1", "WebProject1", "{6D411253-734E-401A-A049-9620FC55D4FB}" 
    ProjectSection(WebsiteProperties) = preProject 
     UseIISExpress = "true" 
     TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0" 
     Debug.AspNetCompiler.VirtualPath = "/WebProject1" 
     Debug.AspNetCompiler.PhysicalPath = "C:\WebProject1\" 
     Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\WebProject1\" 
     Debug.AspNetCompiler.Updateable = "true" 
     Debug.AspNetCompiler.ForceOverwrite = "true" 
     Debug.AspNetCompiler.FixedNames = "false" 
     Debug.AspNetCompiler.Debug = "True" 
     Release.AspNetCompiler.VirtualPath = "/WebProject1" 
     Release.AspNetCompiler.PhysicalPath = "C:\WebProject1\" 
     Release.AspNetCompiler.TargetPath = "PrecompiledWeb\WebProject1\" 
     Release.AspNetCompiler.Updateable = "true" 
     Release.AspNetCompiler.ForceOverwrite = "true" 
     Release.AspNetCompiler.FixedNames = "false" 
     Release.AspNetCompiler.Debug = "False" 
    EndProjectSection 
EndProject 

trở thành này cuối cùng:

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "WebProject1", "http://localhost:12345/WebProject1", "{6D411253-734E-401A-A049-9620FC55D4FB}" 
    ProjectSection(WebsiteProperties) = preProject 
     UseIISExpress = "true" 
     TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0" 
     Debug.AspNetCompiler.VirtualPath = "/WebProject1" 
     Debug.AspNetCompiler.PhysicalPath = "C:\WebProject1\" 
     Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\WebProject1\" 
     Debug.AspNetCompiler.Updateable = "true" 
     Debug.AspNetCompiler.ForceOverwrite = "true" 
     Debug.AspNetCompiler.FixedNames = "false" 
     Debug.AspNetCompiler.Debug = "True" 
     Release.AspNetCompiler.VirtualPath = "/WebProject1" 
     Release.AspNetCompiler.PhysicalPath = "C:\WebProject1\" 
     Release.AspNetCompiler.TargetPath = "PrecompiledWeb\WebProject1\" 
     Release.AspNetCompiler.Updateable = "true" 
     Release.AspNetCompiler.ForceOverwrite = "true" 
     Release.AspNetCompiler.FixedNames = "false" 
     Release.AspNetCompiler.Debug = "False" 
     SlnRelativePath = "C:\WebProject1\" 
    EndProjectSection 
EndProject 
+1

Câu trả lời này có hiệu quả đối với tôi, nhưng tôi phải xóa tệp locationhost.config ted trong thư mục .vs ẩn mà IIS Express sử dụng để xác định cấu trúc ứng dụng. Khi tôi chạy trang web, IIS Express đã định cấu hình ứng dụng bằng thư mục ảo chính xác. Cảm ơn! – Chartreugz

5

Cả các câu trả lời ở trên làm việc cho tôi, tôi vẫn không chắc chắn lý do tại sao điều này hoạt động nhưng đây là những gì tôi đã làm:

Sửa đổi các tập tin Applicationhost.config mà định cư trong dự án:

Ban đầu nó trông như thế này:

<site name="Website" id="2"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\...\MyWebsite" /> 
    </application> 

    <bindings> 
     <binding protocol="http" bindingInformation="*:51005:localhost" /> 
    </bindings> 
</site> 

tôi đã có thêm một mục nhập con đường ứng dụng:

<application path="/mywebsite" applicationPool="Clr4IntegratedAppPool"> 
    <virtualDirectory path="/" physicalPath="C:\...\MyWebsite" /> 
</application> 

Vì vậy, nó kết thúc lên tìm kiếm như thế này:

<site name="Website" id="2"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\...\MyWebsite" /> 
    </application> 

    <application path="/mywebsite" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\...\MyWebsite" /> 
    </application> 

    <bindings> 
     <binding protocol="http" bindingInformation="*:51005:localhost" /> 
    </bindings> 
</site> 
+1

Hoạt động hoàn hảo cho tôi. Cảm ơn rất nhiều! Tôi đã phải kích hoạt các thư mục ẩn, sau đó tôi thấy thư mục ".vs" và sau đó tôi đã sửa đổi tệp "**. Vs \ config \ applicationhost.config **" như được mô tả trong câu trả lời của bạn. –

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