2012-04-30 12 views
11

Tôi có một web.config có chứa quy tắc viết lại như thế này:Không thể để Hủy bỏ Web.Config Nodes sử dụng chuyển đổi

<system.webServer> 
    <rewrite> 
     <rules><!-- Some rules here --></rules> 
    </rewrite> 
</system.webServer> 

Đối với một cấu hình triển khai cụ thể, tôi muốn loại bỏ các nút <rewrite> hoàn toàn.

tôi đã cố gắng làm điều này:

<system.web> 
    <rewrite xdt:Transform="RemoveAll" /> 
</system.web>  

Dựa trên tài liệu này:

http://msdn.microsoft.com/en-us/library/dd465326.aspx

nhưng nút <rewrite> vẫn còn.

Tôi đang thiếu gì?

Trả lời

20

Hmm Tôi vừa thử đây là tệp chuyển đổi của tôi.

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 

    <system.webServer> 
    <rewrite xdt:Transform="RemoveAll" /> 
    </system.webServer> 

</configuration> 

Và đây là kết quả: illustrates difference of web.config after transform FYI Preview được cung cấp bởi SlowCheetah.

Tôi cũng đã đóng gói dự án web và xác minh rằng web.config thực sự không có nút ghi đè. Một điều cần thử ở đây là xóa thư mục obj \ của bạn và thử lại. Bạn có thể cho tôi biết kết quả không?

+1

D'oh! Tôi đã có quy tắc của tôi trong 'system.web' thay vì' system.webServer'. Cẩn thận đọc câu trả lời của bạn làm cho tôi nhận ra lỗi của cách của tôi :-) –