2014-04-30 19 views
6

Tôi không thể tìm ra những gì tôi cần làm để tạo Hàng giả. Trong dự án thử nghiệm của tôi, tôi bao gồm một tham chiếu đến hội đồng mà tôi muốn giả mạo. Nó được thêm vào/Fakes/< tên lắp ráp > .fakes cho dự án của tôi và nó đã xây dựng dự án. Có rất nhiều cảnh báo, nhưng có 0 lỗi và quá trình xây dựng hoàn tất thành công. Nhưng nó không phải là thêm bất kỳ tài liệu tham khảo để tạo ra lắp ráp.Lắp ráp giả không được tạo ra

Hầu hết các cảnh báo là những thứ như không thể tạo ra cuống hoặc shims cho một enum, hoặc một số lớp học tư nhân là không thể nhìn thấy để lắp ráp giả. Thực sự chỉ có 1 lớp trong hội chúng tôi muốn Shim, và không có gì tôi muốn Stub. Vì vậy, tôi chỉnh sửa .fakes file:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" 
     Diagnostic="true"> 
    <Assembly Name="[assembly name]"> 
    <StubGeneration> 
     <Clear /> 
    </StubGeneration> 
    <ShimGeneration> 
     <Clear /> 
     <Add Namespace="[namespace that the 1 class I want to shim is in]" /> 
    </ShimGeneration> 
    </Assembly> 
</Fakes> 

tôi làm sạch và xây dựng lại dự án, và tôi vẫn đang gặp phải rất nhiều cảnh báo, và không có lỗi, mà nó không thể còn sơ khai hoặc các lớp học shim mà tôi đã loại trừ trong .fakes tập tin, và các lắp ráp .akes vẫn không nhận được tạo ra.

Làm cách nào để tôi thực sự ngăn không cho nó cố gắng tạo sơ khai và chỉ tạo miếng chêm cho các lớp nằm trong một không gian tên cụ thể? Các thông tin từ http://msdn.microsoft.com/en-us/library/hh708916.aspx là, rõ ràng, không chính xác.

Ngoài ra, tôi đã xóa thuộc tính Phiên bản khỏi phần tử Assembly, nhưng các cảnh báo mà tôi nhận được vẫn bao gồm số phiên bản trong không gian tên. Có chuyện gì thế?

+0

Lưu ý rằng có một số khó khăn nếu lớp được niêm phong hoặc là một số lớp nhất định từ mscorlib. Đây có thể là không thể Fake. Hiện tại, chúng tôi không có đủ thông tin để giải thích nguyên nhân của vấn đề của bạn. – Magus

+0

Có một số lớp được niêm phong trong hội đồng, nhưng tôi không quan tâm đến chúng. Lớp mà tôi đang cố gắng tiết lộ là công khai và không bị phong ấn. Tôi đang cố gắng sửa đổi tệp .fakes để loại trừ các lớp được niêm phong đó. Nó dường như không quan tâm đến những gì tôi đưa vào tập tin .fakes. – Nick

+0

@Bạn đã tìm thấy câu trả lời của mình chưa? Tôi có chung vấn đề đó! –

Trả lời

8

Tôi đã tìm ra vấn đề của mình. Tôi nghĩ StubGeneration và ShimGeneration được coi là yếu tố con của hội, nhưng chúng không phải. Họ được coi là con của Fakes, và anh chị em của hội. Sau khi thay đổi tệp .fakes của tôi thành tệp này, nó hoạt động:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" 
     Diagnostic="true"> 
    <Assembly Name="[assembly name]" /> 
    <StubGeneration> 
    <Clear /> 
    </StubGeneration> 
    <ShimGeneration> 
    <Clear /> 
    <Add Namespace="[namespace that the 1 class I want to shim is in]" /> 
    </ShimGeneration> 
</Fakes> 
+1

Cảm ơn đây là vấn đề của tôi quá. Bạn nên đánh dấu câu trả lời của riêng bạn ... –

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