Tôi đang làm việc trên một dự án tạo ra một hội đồng. Tôi chỉ nhận thấy rằng một hội đồng bổ sung *. XmlSerializers.dll đang được tạo ra. Tại sao tệp này được tạo tự động và tệp được sử dụng để làm gì?MyAssembly.XmlSerializers.dll được tạo ra để làm gì?
Trả lời
Thực hiện .NET, XmlSerializer tạo ra một phiên bản tạm thời để tuần tự hóa/deserializing lớp học của bạn (vì lý do hiệu suất). Nó có thể được tạo ra trên bay (nhưng phải mất thời gian trên mỗi lần thực hiện), hoặc nó có thể được pregenerated trong quá trình biên dịch và lưu trong hội đồng này bạn đang hỏi về.
Bạn có thể thay đổi hành vi này trong tùy chọn dự án (tab Compile ->nâng cao Compile Tùy chọn ->Tạo cụm serialization, Auto hoặc On, tương ứng). Phần tử tương ứng trong tệp dự án là GenerateSerializationAssemblies, ví dụ: <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
.
Nếu nó được tạo ra khi thiết lập dự án là Tự động, điều đó có nghĩa là nó cần thiết? điều gì xảy ra nếu bạn không triển khai X.XMLSerializers.dll với ứng dụng, nó sẽ được tạo ra khi đang bay? – Rory
Vì vậy, làm thế nào để đi về tải trước các hội đồng? – Carlo
@Rory, tôi biết câu hỏi này là cũ, nhưng có vẻ như vậy. Ba dự án của tôi đã được đặt thành 'Auto', nhưng chỉ có một dự án tạo ra một DLL tuần tự hóa. – ps2goat
Tôi nghĩ đây là trình biên dịch JIT (Chỉ trong thời gian) của các serialis XML cho các lý do hiệu suất.
Bạn nhận được cùng một điều với trường hợp RegEx sử dụng tùy chọn RegexOptions.Compiled được bật.
Tôi không có chuyên gia .NET CLR, xin lỗi vì thiếu chi tiết kỹ thuật chính xác.
*.XmlSerializers.dll
được tạo ra bằng cách sử dụng sgen.exe [XML Serializer Generator Công cụ]
Xem Sgen.exe on MSDN
Điển hình Sgen.exe
được sử dụng trong bài viết Xây dựng các sự kiện của dự án. Xem dự án của bạn có sự kiện xây dựng bài đăng tạo ra *.XmlSerializers.dll
FYI. Các bước chính xác để ngăn chặn sự XmlSerializers.dll khỏi bị tự động tạo ra là:
- Trong VS, kích chuột phải vào tập tin dự án của bạn và chọn "Properties"
- Nhấp vào "Xây dựng" tab
- Thay đổi "tạo lắp ráp serialization" thả xuống từ "tự động" sang "Off"
- Rebuild và nó sẽ biến mất
Vâng, nhưng câu hỏi là ** tại sao ** nó được tạo ra! – Hemant
Tôi biết đây là câu trả lời cũ nhưng trong Bản cập nhật VS2015 3 trên ứng dụng Winforms nhắm mục tiêu .NET 2.0 x86 khi được biên dịch trên hệ thống Win10 Ent 64 bit, ngay cả khi cài đặt "Tạo chuỗi hội tụ tuần tự" thành "Tắt" thì * .XmlSerializers .dll vẫn được tạo. Ứng dụng của tôi tham chiếu dịch vụ web ASMX. Có lẽ một lỗi trong bản cập nhật VS2015 3? – Peter
dự án chỉ tạo ra project.XMLSerialisers.dll cho các ứng dụng web. Đối với các ứng dụng khác, bạn phải chạy sgen riêng biệt.
Ứng dụng WinForms của tôi tạo MyProject.XMLSerializers.dll khi cài đặt nó hoặc tự động –
- 1. Inverse_of làm gì? SQL nó tạo ra cái gì?
- 2. Làm cách nào để ngăn Rplots.pdf được tạo ra?
- 3. Làm cách nào để tôi có thể tạo ra những gì SUD đang tạo/nhận?
- 4. Làm thế nào để echo ra vì nó được tạo ra
- 5. Làm thế nào để VS2010 nhận ra các mstest của tôi được tạo ra bởi SpecFlow?
- 6. Làm thế nào để có được một enum được tạo ra trong attrs.xml trong mã số
- 7. Cú pháp button_to chính xác để thêm lớp vào biểu mẫu được tạo ra là gì?
- 8. Cách tốt nhất để rút gọn Javascript được tạo ra là gì?
- 9. Làm thế nào để làm cho AWK sử dụng biến được tạo ra trong Bash Script
- 10. Làm cách nào để tạo Swf được tạo ra Ant của tôi càng nhỏ càng tốt?
- 11. Điều gì có thể gây ra phương thức Html.ValidateFor() để tạo ra một lỗi biên dịch?
- 12. django không được tạo ra với utf8
- 13. Làm thế nào để có được HttpServer để tạo ra nhiều HttpHandlers song song?
- 14. Những ngoại lệ nào có thể tạo ra một tham chiếu dịch vụ được tạo ra?
- 15. Trình tạo ID cho các đối tượng được tạo ra
- 16. AndroidManifest.out.xml được tạo ra với các lỗi
- 17. Làm thế nào để tạo ra một Clojure Lint?
- 18. Làm thế nào để thoát chuỗi cho C++ được tạo ra?
- 19. Làm thế nào để tạo ra một mảng toàn cầu?
- 20. Khi một con trỏ được tạo ra trong phạm vi, điều gì sẽ xảy ra với biến được trỏ tới khi con trỏ ra khỏi phạm vi?
- 21. Làm thế nào để sử dụng các lớp webservice-client được tạo ra với Eclipse?
- 22. Điều gì gây ra một tệp nhật ký được tạo trong SQLite?
- 23. Làm thế nào để bạn dạy những thứ mà lập trình tốt được tạo ra?
- 24. Làm thế nào để tạo ra "url nhỏ" không thể tin được dựa trên một id?
- 25. Làm cách nào để các nhà thầu tĩnh có thể được tạo ra không riêng tư?
- 26. Làm cách nào để có được hình ảnh sơn/paintComponent tạo ra?
- 27. Làm thế nào để có được NHibernate tạo ra SQL trong mã tại thời gian chạy?
- 28. Làm thế nào để tạo ra android javadocs theo kiểu?
- 29. Tìm ra nơi biến được khởi tạo
- 30. Làm thế nào để trả về một mảng char được tạo ra trong hàm?
Tôi nghĩ bạn đã biết tại sao nó được tạo. nếu không, nó được tạo ra bởi vì dự án của bạn đang trưng ra một loại webservice. nó luôn được tạo trong thời gian biên dịch hoặc trong thời gian chạy. trong thời gian chạy nó được tạo ra trong thư mục Temp với một tên ngẫu nhiên – AaA