Thêm một tài liệu tham khảo dịch vụ tạo lặp lại định nghĩa cho enums và các phương pháp


0 Phiếu
Đã hỏi 18/5/2016 bởi More_Chipp (220 điểm)
Tôi thêm dịch vụ Web Navision vào một hình thức ứng dụng Windows đơn giản, bằng cách sử dụng Add Service Reference chức năng bên trong Visual Studio 2010, tham khảo được tạo ra, nhưng bên trong code có lặp lại định nghĩa ngăn chặn code từ biên soạn, ví dụ: lỗi
namespace ' WindowsFormsApplication1. ServiceReference1 ' đã có một định nghĩa cho 'Trạng thái' C:\\Trash\\ WindowsFormsApplication1 \\ WindowsFormsApplication1 \\Service References\\ ServiceReference1 \\Reference.cs
và bên trong Reference.cs tôi có
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1015")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:microsoft-dynamics-schemas/page/salesheaderpage")]
public enum Status {
    /// <remarks/>
    Open,
    /// <remarks/>
    Released,
    /// <remarks/>
    Pending_Approval,
    /// <remarks/>
    Pending_Prepayment,
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="Status", Namespace="urn:microsoft-dynamics-schemas/page/salesheaderpage")]
public enum Status : int {
    [System.Runtime.Serialization.EnumMemberAttribute()]
    Open = 0,
    [System.Runtime.Serialization.EnumMemberAttribute()]
    Released = 1,
    [System.Runtime.Serialization.EnumMemberAttribute()]
    Pending_Approval = 2,
    [System.Runtime.Serialization.EnumMemberAttribute()]
    Pending_Prepayment = 3,
}
tôi đã cố gắng để bỏ chọn Reuse types in referenced assemblies, nhưng các định nghĩa nhân đôi vẫn được tạo ra trong cả hai trường hợp. bất cứ ý tưởng? EDIT: trang web là một tùy chỉnh trang kết nối với tiêu chuẩn table 36 (bán hàng tiêu đề)

1 câu trả lời

0 Phiếu
Đã trả lời 30/5/2016 bởi generall (140 điểm)
Các vấn đề có vẻ là tuần tự xảy ra hai lần:
//Xml Serializer
[System.Xml.Serialization.XmlTypeAttribute(...
//DataContract Serializer
[System.Runtime.Serialization.DataContractAttribute(...
giả sử không có lỗi phía máy chủ:
  • điều đầu tiên cần kiểm tra là rằng bạn không có bất kỳ enums tại địa phương có cùng tên, kể từ khi nó thường phá vỡ các loại tái sử dụng.
  • ngoài ra, bằng cách sử dụng Add Web Reference nên cung cấp mã số làm việc.
  • nếu các điểm khác không khắc phục vấn đề (hoặc họ không phải là hữu ích cho bạn ngay cả khi họ sản xuất làm việc mã), tiếp theo tôi sẽ cố gắng sử dụng svcutil để tự xây dựng một class proxy thông qua một serializer cụ thể. Kể từ khi dịch vụ năng động nên là XML, tôi muốn đi với /serializer:XmlSerializer (EDIT: tôi mistyped tham số dòng command !)
command có thể hình như:
svcutil <ServiceURL> /Language:CS /target:Code 
/out:MyServiceProxy.cs /config:MyServiceProxy.config /serializer:XmlSerializer
vị trí mặc định của các công cụ cần phải %ProgramFiles%\\Microsoft SDKs\\Windows\\v6.0\\Bin theo MSDN tham chiếu cho công cụ (khuôn khổ ver 4.0)
Đã bình luận 01/6/2016 bởi ner_8220 (670 điểm)
Phiên bản Nav? 2009 hoặc 2013?

ToughDev Q&A là gì?

Trang web hỏi đáp cho các bạn đam mê lập trình, phát triển phần mềm và các vấn đề kỹ thuật khác. Với sự giúp đỡ của bạn, chúng tôi hy vọng sẽ xây dựng thành công một thư viện đầy đủ các câu hỏi và trả lời về tất cả các vấn đề có liên quan đến lập trình!







...