2011-09-07 40 views
7

Tôi đang sử dụng bộ dựng sẵn TeamCity NUnit để chạy thử nghiệm được lưu trữ trong các tệp .DLL.FileNotFoundException khi chạy thử nghiệm NUnit từ TeamCity

My .DLLs đang tham chiếu đến các tệp DLL khác hiện diện trong cùng một thư mục.

Khi chạy chúng, tôi nhận được một FileNotFoundException cho các DLL tham chiếu.

Tôi có thể sửa lỗi này bằng cách nào? Tôi nghĩ có lẽ nhân vật TC NUnit đang sử dụng một số thư mục khác làm thư mục thực thi ứng dụng chính, và do đó ngăn chặn các tệp đang thực sự nằm bên cạnh DLL thử nghiệm để không tải đúng cách, nhưng không thể chứng minh yêu cầu này ...

Bất kỳ ai khác đã gặp phải hành vi này?

Trả lời

9

OK khi vấn đề được giải quyết và nó thực sự là ngớ ngẩn và đáng xấu hổ:

tôi đã thiết lập các Á hậu kiểm tra NUnit để thực hiện những thử nghiệm này:

**/*.Tests.dll 

Điều này có nghĩa rằng nó sẽ bao gồm các bài kiểm tra từ /bin/Debug/ và cũng từ các thư mục khác, chẳng hạn như obj/

Trong các thư mục này, không có tham chiếu nào được bao gồm trong khóa học, làm cho các bài kiểm tra tương tự chạy hai lần và một số trong số này không thành công!

1

Đường dẫn có liên quan đến việc xây dựng thư mục kiểm tra, không liên quan đến bất kỳ thư mục hoạt động nào. Nếu bạn cần một đường dẫn khác, hãy sử dụng cú pháp %reference% để tham chiếu thuộc tính TeamCity với đường dẫn thư mục. Bạn có chạy nó dưới Windows không? Bạn có sử dụng TeamCity 6.5 không?

Nếu điều đó không giúp đỡ, nuôi sống tự do để liên hệ với [email protected]

+0

Tôi hiện đang sử dụng 6.5, Windows, vâng. Tôi biết đường dẫn là tương đối, đó chỉ là một số giải thích hợp lý tôi đã sử dụng để cố gắng hiểu tại sao điều này không thành công. Nếu Dll A tham chiếu Dll B (cả hai trong cùng một dir), lý do gì có thể gây ra việc xây dựng trong NUnit launcher để không tìm Dll B? –

0

Trong trường hợp của tôi, DLL bị thiếu là thư viện gốc và không thể tải vì có phiên bản VC thời gian chạy không chính xác được cài đặt trên tác nhân tạo. Giải pháp của tôi là thêm các tệp DLL thời gian chạy (nằm trong 'C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ VC \ redist \ x86 \ Microsoft.VC110.CRT') trực tiếp vào dự án (xây dựng action = Content, copy to thư mục đầu ra = Sao chép luôn). Điều này cũng làm cho cài đặt thân thiện hơn.

Hy vọng điều này sẽ hữu ích.

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