2013-02-28 47 views
21

Tôi đang triển khai ứng dụng của mình vào một Trang web Azure. Tôi đã cấu hình Hồ sơ xuất bản thành công và thiết lập tfspreview.com để xuất bản tự động bằng cách sử dụng tích hợp liên tục trên mỗi mã cam kết.Tránh xóa thư mục trên Web Publish

Tôi có một thư mục trên đường dẫn "/ phương tiện". Thư mục này có hình ảnh và tài liệu được tải lên thông qua CMS (umbraco). Thư mục này bị xóa trên mỗi triển khai web.

Từ this answer, tôi đã học cách thêm quy tắc SkipDelete trên tệp .csproj hoặc trên tệp wpp.targets, nhưng mỗi lần tôi xuất bản, toàn bộ thư mục sẽ bị xóa.

Đây là mã Tôi hiện đang sử dụng wpp.targets bên:

<PropertyGroup> 
<AfterAddIisSettingAndFileContentsToSourceManifest> 
    AddCustomSkipRules 
</AfterAddIisSettingAndFileContentsToSourceManifest> 
</PropertyGroup> 

<Target Name="AddCustomSkipRules"> 
<Message Text="Adding Custom Skip Rules" /> 
<ItemGroup> 
    <MsDeploySkipRules Include="SkipMediaFolder"> 
    <SkipAction>Delete</SkipAction> 
    <ObjectName>filePath</ObjectName> 
    <AbsolutePath>media</AbsolutePath> 
    </MsDeploySkipRules> 
</ItemGroup> 
</Target> 

<PropertyGroup> 
<UseMsDeployExe>true</UseMsDeployExe> 
</PropertyGroup> 
+0

đặt thư mục đó bên ngoài thư mục giải pháp của bạn. Lý tưởng nhất, tạo thư mục ảo của bạn một cấp trên IIS Root. –

+0

Nó đã là = D – amhed

+0

thú vị. Đây là cách tôi đã có admin IIS của chúng tôi tạo ra chúng ta. Ông đã tạo một thư mục khác để tải hình ảnh lên. Tôi sẽ hỏi anh ấy khi tôi có thể nếu bạn không nhận được câu trả lời. –

Trả lời

2

Đây có phải là không chỉ là một vấn đề bỏ chọn hộp trong wizard xuất bản (cài đặt bước) nói rằng "Xóa tất cả các file đang tồn tại trước khi xuất bản "? Tôi biết rằng tùy chọn có sẵn khi thiết lập xuất bản từ phía Visual Studio - có vẻ như với tôi các thông tin xuất bản Azure chỉ cung cấp cho bạn kết nối, và không phải là cài đặt mà bạn thực hiện thông qua trình hướng dẫn.

+0

Hey @ericF sau khi tôi tải xuống hồ sơ xuất bản, tôi đã chỉnh sửa cài đặt và bỏ chọn tùy chọn "xóa tệp bổ sung tại đích". Tôi đã đọc rằng đôi khi tùy chọn đó không hoạt động đó là lý do tại sao tôi đang cố gắng bỏ qua các quy tắc trên wpp.targets – amhed

+0

Nó làm việc cho tôi trong máy chủ tư nhân. –

1

Nhìn qua câu hỏi mà bạn đang liên kết đến và mã bạn đã cung cấp ở trên, có vẻ như bạn cần thay đổi dòng:

<AbsolutePath>ErrorLog</AbsolutePath> 

để

<AbsolutePath>media</AbsolutePath> 

vì điều này đề cập đến thư mục bạn không muốn xóa. ErrorLog là thư mục mà tác giả của câu hỏi khác không muốn xóa.

+0

Vâng, quá nhiều sao chép/dán. Tôi đã sửa nó, vẫn không hoạt động. – amhed