Tôi có một dự án ứng dụng web. Tôi có DLL mà tôi tham chiếu trong dự án được lưu trữ trong thùng/thư mục của tôi. Vâng, bất cứ khi nào tôi làm một xây dựng lại hoặc làm sạch từ Visual Studio, nó sẽ xóa tất cả mọi thứ trong thư mục đó. Làm cách nào để ngăn điều này xảy ra?Giữ studio trực quan xóa tất cả mọi thứ khỏi bin/khi xây dựng lại?
Trả lời
Tôi sẽ tránh xa câu hỏi 'tại sao' và chỉ nêu rõ cách thực hiện. Đánh dấu các tập tin là chỉ đọc và VS không nên xóa chúng.
-1 chỉ vì bạn không nên lưu trữ các tệp DLL của mình trong thư mục bin, ngay cả khi có cách để làm cho nó hoạt động. –
Điều đó không có nghĩa là chúng ta không nên trả lời câu hỏi. Hãy cứu lấy người thánh thiện hơn ngươi cho một nơi mà các cuộc tranh luận như thế này là đúng. – billb
Thực ra tôi đã quan tâm hơn đến thực tế là câu trả lời vừa được chấp nhận vừa được bình chọn cao nhất (vào thời điểm tôi đã bỏ phiếu). Bạn chính xác rằng nó là một câu trả lời hợp lệ cho vấn đề được đưa ra. –
Bạn có thể giải thích lý do tại sao bạn phải lưu trữ nó trong thư mục bin để bắt đầu không? tôi luôn luôn tạo một thư mục riêng biệt cho ví dụ/thành phần nơi tôi lưu trữ tất cả các dll tham chiếu.
idk, bin/luôn có ý nghĩa với tôi. Đó là nơi mà các tệp nhị phân thực thi được đặt. Sẽ di chuyển các tệp ra khỏi thùng rác/sự cố gây ra? – Earlz
@Earlz, bạn nên có một thư mục lib (một số người cũng giống như một thư mục của bên thứ ba) nơi bạn đặt các hội đồng tham chiếu. Kịch bản xây dựng của bạn nên sao chép chúng vào thư mục bin theo yêu cầu, điều này cho phép bạn có một bản dựng sạch. – Paolo
@Paolo: Visual Studio sẽ sao chép chúng vào thùng rác tự động nếu chúng được tham chiếu từ thư mục 'lib'. –
Không đặt bất cứ thứ gì vào thùng rác. bin là thư mục đích cho các tệp nhị phân - nó không phải là thư mục nguồn cho các tệp nhị phân.
Tạo cho mình một thư mục lib
hoặc một cái gì đó tương tự để đưa các tệp nhị phân của bên thứ ba vào. Bạn thậm chí có thể đặt tên nó là "Third Party Binaries", vì không phải ai cũng biết rằng "lib" có nghĩa là giống nhau. Hãy tham chiếu đến các tệp nhị phân trong thư mục này và Visual Studio sẽ sao chép chúng vào bin
khi cần thiết (bao gồm cả việc xây dựng lại).
Một điều "không làm theo cách đó!" mọi người quên là kiểm soát nguồn và phần mềm của bên thứ 3. Sử dụng SVN bạn thường nhận được các tập tin mà nếu các tham chiếu vật lý được sử dụng sẽ tạo ra sự không phù hợp khi chúng không ở cùng một vị trí vật lý.
Một CMS mà tôi đang làm việc tại thời điểm này sẽ xây dựng dự án VS và giải pháp khi bạn thiết lập một "phiên bản" khác của nó. Nó đổ trong một số dlls nó cần ... nhưng nếu bạn xây dựng lại chúng biến mất.
Giải pháp đơn giản trong cả hai trường hợp là thực hiện như đã nêu ở trên và gọi nó là xong.
Theo dõi John Saunders trả lời và đặt tệp .dll của bạn vào một thư mục riêng biệt. Trong trường hợp của tôi, tôi đặt tên cho thư mục này là "ServerAssemblies". Sau đó sửa đổi tệp dự án của bạn (.csproj trong trường hợp của tôi) và thêm mục tiêu "AfterRebuild".
<Target Name="AfterRebuild">
<ItemGroup>
<ExtraAssemblies Include="$(SolutionDir)ServerAssemblies\**\*.*"/>
</ItemGroup>
<Copy SourceFiles="@(ExtraAssemblies)" DestinationFolder="$(ProjectDir)bin\"></Copy>
</Target>
- 1. Django: Xóa tất cả dữ liệu khỏi mọi bảng (nhưng vẫn giữ nguyên bảng)
- 2. Lực lượng phòng thu trực quan để luôn luôn 'xây dựng lại tất cả' khi gỡ lỗi
- 3. Xóa mọi phần tử thứ hai khỏi mảng và sắp xếp lại các phím?
- 4. Trong studio trực quan cách bao gồm tất cả .libs trong một thư mục
- 5. Thứ tự xây dựng dự án trong Visual Studio 2010?
- 6. Xóa tất cả trẻ em khỏi QVBoxLayout
- 7. Microsoft Visual Studio 2008 được xây dựng giữ không
- 8. Đường dẫn đầu ra để xây dựng trong studio trực quan 2010
- 9. Tôi có thể đặt studio trực quan để sử dụng psake khi xây dựng không?
- 10. Cách xóa tất cả QGraphicsItem khỏi QGraphicsScene
- 11. cách chạy studio trực quan mà không cần plugin và tất cả tính năng của bên thứ ba
- 12. điều gì có thể khiến Visual Studio phải xây dựng lại toàn bộ giải pháp của tôi mọi lúc?
- 13. cách xóa mọi kiểu khỏi phần tử?
- 14. Git kéo không kéo tất cả mọi thứ
- 15. Xóa tất cả JavaScript khỏi trang HTML
- 16. Làm thế nào để thử tất cả mọi thứ?
- 17. thông số hàng loạt: tất cả mọi thứ sau% 1
- 18. Sự khác biệt giữa "xây dựng" và "xây dựng lại" trong Visual Studio là gì?
- 19. Mở rộng studio trực quan
- 20. Xóa tệp .pdb trong studio trực quan 2010
- 21. Làm thế nào để git reset --hard tất cả mọi thứ nhưng 4 file
- 22. tìm tất cả các lần so sánh với == trong studio trực quan
- 23. Dự án studio trực quan cho MonoDevelop
- 24. Xóa dữ liệu khỏi tất cả các bảng trong MYSQL
- 25. Sử dụng studio trực quan để xác định rằng bản dựng được cập nhật là gì?
- 26. Tại sao studio trực quan lại thu hút các sự kiện quan trọng trước autohotkey?
- 27. Xcode Instruments được tước hiệu bất chấp tất cả xây dựng các thiết lập ngược lại
- 28. Hudson/Jenkins Git xây dựng tất cả các chi nhánh
- 29. Bỏ/tải lại biểu tượng/pdb trong studio trực quan
- 30. Ngăn studio trực quan tạo tệp thông tin duyệt (.ncb)
Y ngăn chặn điều đó? – madatanic
Bởi vì tôi có các tập tin như một số hội đồng cho các điều khiển không thuộc sở hữu của chúng tôi và cho Npgsql và AjaxControlToolkit và như vậy. – Earlz
Nếu bạn thêm các assembly đó từ các vị trí vật lý (ví dụ C: \ MyAssemblies \ ...), chúng sẽ vẫn ở đó. Khi bạn muốn triển khai dự án của mình đến một máy khác, bạn cần đăng ký các assembly đó trên máy đó (cài đặt chúng vào GAC) nếu chúng không phải là các assembly hệ thống. – madatanic