2009-10-29 39 views
13

Có cách nào để đặt studio trực quan xuất bản tất cả các tệp pdf không?Cách đặt Visual Studio xuất bản tệp pdf tự động

Tôi biết rằng bạn có thể đặt từng tệp pdf riêng lẻ trong một dự án bằng thuộc tính Build Action "Nội dung".

Nhưng điều đó có nghĩa là làm điều tương tự 100 lần cho dự án hiện tại của tôi, có cách nào để thay đổi cài đặt chung để làm điều tương tự không?

+0

Publish file PDF? Làm thế nào về việc đặt các tập tin PDF bên ngoài dự án của bạn và ánh xạ chúng qua thư mục ảo tại máy chủ web của bạn? –

+0

Các máy chủ web không thực sự là vấn đề, vấn đề là nhận được pdf fiels whicvh được sử dụng và tài liệu hướng dẫn/tài liệu/tải được thêm vào dự án, nhưng bạn cần phải đặt từng cái để khi bạn xuất bản có được chuyển đến máy chủ. một khi có tất cả tiền phạt của nó. – TheAlbear

+0

Làm thế nào về việc sử dụng đa lựa chọn? Chỉ cần một vài cú click chuột và bạn đã hoàn tất.Hoặc, nếu bạn tài liệu PDF được lan truyền trong cây dự án, hãy mở tệp dự án trong trình soạn thảo văn bản và thực hiện tìm kiếm toàn cục và thay thế. –

Trả lời

2

Giả sử bạn đã bản PDF bạn muốn triển khai bên ngoài dự án trong c: \ PDF, chỉnh sửa csproj

<ItemGroup> 
    <Content Include="c:\PDFs\**\*.pdf" /> 
</ItemGroup> 

Nếu họ đang ở trong một thư mục "MyPdfs" tương đối so với thư mục gốc của dự án

<ItemGroup> 
    <Content Include="MyPdfs\**\*.pdf" /> 
</ItemGroup> 

Một số thông tin chi tiết về vấn đề này có thể được tìm thấy trên: https://stackoverflow.com/a/12202917/37055

1

Bạn có thể chỉnh sửa trực tiếp tệp dự án của mình để thêm các thành phần yêu cầu <CopyToOutputDirectory>Always</CopyToOutputDirectory> vào tệp PDF. (Nếu dự án của bạn không phải là dưới sự kiểm soát nguồn, thử nghiệm trên một bản sao đầu tiên và giữ bản sao lưu trong trường hợp tất cả đi sai)

5

Thêm một sự kiện bài build với lệnh sau đây:

xcopy "$(ProjectDir)myPdfs\*.pdf" "$(TargetDir)myPdfs\" /S /Y 

Lưu ý trong Lệnh trên myPdfs chỉ là thư mục con của thư mục dự án của bạn có chứa tất cả các tệp PDF. Nếu bạn có nhiều hơn một trong các thư mục con này, bạn cần chạy lệnh cho mỗi thư mục con.

Hy vọng công trình này !!

+1

Có vẻ như đây là lựa chọn tốt nhất. – TheAlbear

15

có cách dễ dàng hơn, bạn phải đảm bảo tệp của mình được đưa vào dự án trước, sau đó nhấp chuột phải vào tệp chuyển đến thuộc tính, sẽ có tùy chọn "sao chép vào thư mục đầu ra", chọn "sao chép luôn luôn "

Chúc may mắn

+7

Bạn cũng cần đặt "Hành động Xây dựng" thành "Nội dung", thì đây là câu trả lời hay nhất. – paul

+2

-1 Sao chép luôn sao chép nó vào thư mục bin. Câu trả lời của Vinblad là câu trả lời đúng. Thay đổi hành động xây dựng thành nội dung. – adam0101

+0

Cảm ơn bạn @paul .. 'Sao chép Always' của chính nó không làm các trick. Đặt hành động xây dựng sẽ giải quyết được vấn đề. – user1003916

1

CopyToOutputDirectory sẽ sao chép tệp vào thư mục bin khi bạn xuất bản. Đặt "Build Action" thành "Content" sẽ sao chép các tập tin mà không cần cài đặt CopyToOutputDirectory. Nhưng điều này vẫn cần phải được thực hiện trên mỗi tệp. Bạn có thể thay thế regex trong tệp dự án từ <None Include="XXX.pdf" /> thành <Content Include="XXX.pdf" />.

2

Mở csproj tập tin và thay đổi:

<None Include="my.pdf"> 

tới:

nhấp chuột
<Content Include="my.pdf"> 
13

Chỉ cần chuột phải vào tập tin mà bạn muốn bao gồm, chọn properties, trong cửa sổ thuộc tính thay đổi xây dựng hành động để nội dung . Điều này sẽ bao gồm các tập tin trong quá trình xuất bản.

+1

Phải là câu trả lời thực tế. Cảm ơn bạn đời. – fuzz

+1

đây là câu trả lời hay hơn. – kaptan

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