কখনও কখনও একটি ডাব্লুসিএফ পরিষেবা রেফারেন্স যুক্ত করা একটি খালি রেফারেন্স। উত্পন্ন করে এবং আমি প্রকল্পের কোথাও পরিষেবাটি উল্লেখ করতে পারি না।
কেউ কি এর মুখোমুখি হয়েছেন?
কখনও কখনও একটি ডাব্লুসিএফ পরিষেবা রেফারেন্স যুক্ত করা একটি খালি রেফারেন্স। উত্পন্ন করে এবং আমি প্রকল্পের কোথাও পরিষেবাটি উল্লেখ করতে পারি না।
কেউ কি এর মুখোমুখি হয়েছেন?
উত্তর:
সাধারণত আমি দেখতে পাচ্ছি যে এটি একটি কোড-জেন সমস্যা এবং বেশিরভাগ সময় এটি কারণ আমি একটি টাইপ নামের বিরোধ পেয়েছি যা এটি সমাধান করতে পারে না।
আপনি আপনার সেবা রেফারেন্সে ডান ক্লিক করুন এবং কনফিগার ক্লিক করেন আনচেক "রেফারেন্সড মজলিসে পুনঃব্যবহার ধরন" এটি সম্ভবত সমস্যাটির সমাধান করব।
আপনি যদি এই বৈশিষ্ট্যের কিছু দিক ব্যবহার করে থাকেন তবে আপনার নামগুলি পরিষ্কার হয়ে গেছে তা নিশ্চিত করার প্রয়োজন হতে পারে।
যেমন গৃহীত উত্তরটি উল্লেখ করেছে, পুনরায় ব্যবহারের সময় কোনও প্রকারের রেফারেন্স ইস্যু সম্ভবত অপরাধী। আমি খুঁজে পেয়েছি যখন আপনি সহজেই সমস্যাটি নির্ধারণ করতে পারবেন না তখন svcutil.exe কমান্ড লাইনটি আপনাকে অন্তর্নিহিত সমস্যাটি প্রকাশ করতে সহায়তা করবে (জন স্যান্ডার্স হিসাবে উল্লেখ করেছেন)।
বর্ধন হিসাবে এখানে এসকিউটিল ব্যবহারের একটি দ্রুত উদাহরণ।
svcutil /t:code https://secure.myserver.com/services/MyService.svc /d:test /r:"C:\MyCode\MyAssembly\bin\debug\MyAssembly.dll"
কোথায়:
এখানে পূর্ণ এসকিউটিল কমান্ড লাইনের রেফারেন্স: http://msdn.microsoft.com/en-us/library/aa347733.aspx
আপনি একবার এসকিউটিইল চালানোর পরে, আপনাকে ব্যতিক্রমটি আমদানি করে ফেলেছে তা দেখতে হবে। আপনি আপনার যে কোনও একটি সম্পর্কে এই ধরণের বার্তাটি পেতে পারেন: "রেফারেন্সড টাইপটি ব্যবহার করা যাবে না যেহেতু এটি আমদানীকৃত ডেটা কনট্র্যাক্টের সাথে মেলে না"।
এটি কেবল উল্লেখ করা যেতে পারে যে পরিষেবাটির জন্য ডেটা কনট্র্যাক্টে যা তৈরি হয়েছিল তার থেকে রেফারেন্সড অ্যাসেমব্লিতে প্রকারভেদগুলির মধ্যে একটিতে পার্থক্য রয়েছে। আমার ক্ষেত্রে, আমি যে পরিষেবাটি আমদানি করছিলাম তার ভাগ করা অ্যাসেমব্লিতে আমার যা ছিল তার থেকে নতুন, আপডেট হওয়া ধরণ ছিল। এটি সহজেই স্পষ্ট ছিল না কারণ ব্যতিক্রমটিতে উল্লিখিত ধরণটি একই বলে মনে হয়েছিল। যা আলাদা ছিল তা হল টাইপ দ্বারা ব্যবহৃত নেস্টেড জটিল ধরণের একটি।
অন্যান্য আরও জটিল পরিস্থিতি রয়েছে যা এই ধরণের ব্যতিক্রম এবং ফলস্বরূপ ফাঁকা রেফারেন্স। এখানে একটি উদাহরণ ।
যদি আপনি এই সমস্যাটি অনুভব করছেন এবং আপনি যদি আপনার ডেটা চুক্তিতে জেনেরিক প্রকারগুলি ব্যবহার করছেন না বা আপনি ইস্রাফারেন্স = সত্য ব্যবহার করছেন না, তবে আমি নিশ্চিত হয়েছি যে আপনার ভাগ করা প্রকারগুলি আপনার ক্লায়েন্ট এবং সার্ভারে ঠিক একই are অন্যথায়, আপনি সম্ভবত এই সমস্যাটি চালিয়ে যাবেন।
এটি হওয়ার পরে, ত্রুটিযুক্ত কোনও বার্তা আছে কিনা তা দেখতে ত্রুটিগুলি উইন্ডো এবং আউটপুট উইন্ডোটি দেখুন। এটি যদি সহায়তা না করে তবে svcutil.exe
ম্যানুয়ালি চালানোর চেষ্টা করুন এবং দেখুন কোনও ত্রুটির বার্তা রয়েছে কিনা।
এই সঠিক সমস্যাটি নিয়ে আমি সারা দিন ধরে মাথা ঠেকিয়ে যাচ্ছি। আমি ঠিক এটা ঠিক করেছি। এখানে ...
সেবা ছিল SSL- র মাধ্যমে চালানোর জন্য (যেমন এটি এর https://mydomain.com/MyService.svc )
ডেভলপমেন্ট সার্ভারে ডাব্লুসিএফ পরিষেবাদিতে একটি পরিষেবা রেফারেন্স যুক্ত করা ঠিক কাজ করেছে।
লাইভ প্রোডাকশন সার্ভারে ডাব্লুসিএফ পরিষেবাটির ঠিক একই বিল্ড স্থাপন করা, ক্লায়েন্ট অ্যাপ্লিকেশনটিতে স্যুইচ করা এবং লাইভ সার্ভিসে নির্দেশিত পরিষেবা রেফারেন্সটি কনফিগার করাতে কোনও ত্রুটি প্রদর্শিত হয়নি তবে অ্যাপটি তৈরি করবে না: দেখা যাচ্ছে যে পরিষেবাটি রেফারেন্সটির References.cs ফাইলটি সম্পূর্ণ খালি ছিল! পরিষেবা রেফারেন্স আপডেট করা কোনও তাত্পর্যপূর্ণ হয়নি। সমাধান পরিষ্কার করা কোনও লাভ হয়নি। VS2010 পুনরায় আরম্ভ করা কোনও তাত্পর্যপূর্ণ হয়নি। একটি নতুন ফাঁকা সমাধান তৈরি করা, একটি কনসোল প্রকল্প শুরু করা এবং লাইভ সার্ভিসে কোনও পরিষেবা রেফারেন্স যুক্ত করা ঠিক একই সমস্যা প্রদর্শিত হয়েছে।
আমি মনে করি না এটি বিতর্কিত ধরণের বা কোনও কিছুর কারণে হয়েছে, তবে কী হ্যাক - "ডাব্লুসিএফ পরিষেবা রেফারেন্সটি" সমস্ত রেফারেন্সড অ্যাসেমব্লিতে পুনরায় ব্যবহার করুন "পরীক্ষা না করে পুনরায় কনফিগার করেছি। আনন্দ নেই; আমি চেক চিহ্নটি পিছনে রেখেছি।
পরবর্তী পদক্ষেপটি ছিল রেফারেন্স ইউআরএলে এসকিউটিল ব্যবহার করে দেখুন এটি সমস্যার উদ্রেক করতে সহায়তা করে কিনা। আদেশটি এখানে:
svcutil /t:code https://mydomain.com/MyService.svc /d:D:\test
এটি নিম্নলিখিত উত্পাদন করে:
Microsoft (R) Service Model Metadata Tool
[Microsoft (R) Windows (R) Communication Foundation, Version 4.0.30319.1]
Copyright (c) Microsoft Corporation. All rights reserved.
Attempting to download metadata from 'https://mydomain.com/MyService.svc' using WS-Metadata Exchange or DISCO.
Error: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: Schema with target namespace 'http://mynamespace.com//' could not be found.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://mynamespace.com//']/wsdl:portType[@name='IMyService']
Error: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://mynamespace.com//']/wsdl:portType[@name='IMyService']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpBinding_IMyService']
Error: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpBinding_IMyService']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:service[@name='MyService']/wsdl:port[@name='WSHttpBinding_IMyService']
Generating files...
Warning: No code was generated.
If you were trying to generate a client, this could be because the metadata documents did not contain any valid contracts or services
or because all contracts/services were discovered to exist in /reference assemblies. Verify that you passed all the metadata documents to the tool.
Warning: If you would like to generate data contracts from schemas make sure to use the /dataContractOnly option.
এটা আমাকে পুরোপুরি স্টাম্পড করেছিল। ভারী গুগল করা এবং সত্যিই বরং ক্রস হওয়া এবং একটি বাস ড্রাইভার হিসাবে ক্যারিয়ারের পুনর্বিবেচনা সত্ত্বেও, অবশেষে আমি বিবেচনা করেছি কেন এটি উন্নয়ন বাক্সে ঠিক আছে। এটি আইআইএস কনফিগারেশন সমস্যা হতে পারে?
আমি ডেভলপমেন্ট এবং লাইভ বাক্স উভয়ই একযোগে সরিয়ে দিয়েছি এবং প্রতিটিতেই আমি আইআইএস ম্যানেজারকে বরখাস্ত করেছি (আইআইএস 7.5 চালাচ্ছি)। এরপরে, আমি প্রতিটি বাক্সে প্রতিটি কনফিগারেশন সেটিংস দিয়েছিলাম, প্রতিটি সার্ভারের মানগুলির তুলনা করে।
এবং সমস্যাটি রয়েছে: সাইটের জন্য "এসএসএল সেটিংস" এর অধীনে, "এসএসএল প্রয়োজন" পরীক্ষা করে দেখুন এবং "গ্রহণ" এর জন্য ক্লায়েন্ট শংসাপত্রগুলির রেডিও বোতামটি পরীক্ষা করুন। সমস্যা স্থির!
আমি যখনই কোনও রেফারেন্স যুক্ত করি, এটিকে সরিয়ে ফেলি এবং তারপরে একই নামের সাথে একটি পরিষেবা পুনরায় যুক্ত করি তবে এটি আমি সাধারণত দেখতে পেয়েছি। প্রবীণ ফাইলগুলি কোথাও ভিজ্যুয়াল স্টুডিওতে এখনও দেখতে পারা যায় বলে ধরণের দ্বন্দ্ব দেখা দেয়। এটি ঠিক করার জন্য আমাকে যা করতে হবে তা নতুন রেফারেন্স যুক্ত করার আগে একটি পরিষ্কার।
আশাকরি এটা সাহায্য করবে.
পূর্ববর্তী সংস্করণ থেকে আপগ্রেড হওয়া সিলভারলাইট 5 নিয়ে আমার এই সমস্যা ছিল।
এমনকি পরিষেবাটি পুনরায় যুক্ত করা এখনও আমাকে একটি খালি রেফারেন্স
আমি একেবারে নতুন প্রকল্প তৈরি করে সার্ভিস রেফারেন্সটি তৈরি করে শেষ করেছি। আপনি এটিতে প্রায় আধা ঘণ্টার বেশি সময় ব্যয় করেছেন এটি চেষ্টা করার জন্য এটি something এমনকি যদি আপনি মূল প্রকল্পটি ঠিক করতে দৃ determined়প্রতিজ্ঞ হন তবে আপনি যা করতে চান তা দেখতে এটি চেষ্টা করতে পারেন এবং তারপরে সমস্যার সমাধানের চেষ্টা করার জন্য পিছনের দিকে কাজ করতে পারেন।
সমস্যাটি ঠিক কী তা আমি কখনই বুঝতে পারি নি - তবে সম্ভবত .csproj ফাইলে কিছু আপগ্রেড করা হয়নি বা কিছু সেটিংস ভুল হয়েছে।
System.Xml.Linq
- সুতরাং যদি আপনি সংস্করণগুলি স্যুইচ করেন তবে আপনার সমস্ত
এটি ঘটতে শুরু করার পরে আপনি যদি সম্প্রতি আপনার প্রকল্পে কোনও সংযোজন যুক্ত করেন, সমস্যাটি দুটি সংগ্রহের কারণে হতে পারে যা একই সংগ্রহডাটা কন্ট্র্যাক্ট বৈশিষ্ট্যযুক্ত:
[CollectionDataContract(Name="AItems", ItemName="A")]
public class CollectionA : List<A> { }
[CollectionDataContract(Name="AItems", ItemName="A")] // Wrong
public class CollectionB : List<B> { }
আমি আমার প্রোজেক্টটি জুড়ে পরিষ্কার করে এবং প্রতিটি নাম এবং আইটেমনাম বৈশিষ্ট্যটি অনন্য ছিল তা নিশ্চিত করে ত্রুটিটি স্থির করেছি :
[CollectionDataContract(Name="AItems", ItemName="A")]
public class CollectionA : List<A> { }
[CollectionDataContract(Name="BItems", ItemName="B")] // Corrected
public class CollectionB : List<B> { }
তারপরে আমি পরিষেবাটি উল্লেখ এবং সমস্ত কিছু আবার কাজ করে রিফ্রেশ করেছি।
আমার সমস্যাটি হ'ল আমি আমার ওয়েব পরিষেবা লিঙ্কের শেষে " ম্যাক্স " রেখেছি।
" Http://yeagertech.com/yeagerte/YeagerTechWcfService.YeagerTechWcfService.svc/mex " এর পরিবর্তে
" Http://yeagertech.com/yeagerte/YeagerTechWcfService.YeagerTechWcfService.svc " ব্যবহার করুন
আমার ক্ষেত্রে যে কৌশলটি আমার ক্ষেত্রে কাজ করেছিল, সেগুলির কোনও সদর্থক না হয়ে এই উত্তরগুলি পড়ার পরে, কেবল বাইনারি অনুসন্ধান ফ্যাশনে, আমার সমস্ত চুক্তি এবং অকার্যকর বিটগুলি আর কাজ করে না সে সম্পর্কে মন্তব্য করা। এটি কোডের আপত্তিকর বিটটি সঙ্কুচিত করে।
তারপরে আপনাকে কেবল অনুমান করতে হবে যে এই কোডটিতে কী সমস্যা আছে।
সরঞ্জামটিতে কিছু ত্রুটি প্রতিক্রিয়া অবশ্যই অবশ্যই সহায়তা করেছিল।
আমি একটি ওয়েব পরিষেবা চুক্তি লিখছি। আমার কোনও সদস্যহীন একটি স্থানধারক এনাম ছিল। ঠিক আছে. তবে আমি যদি এটি অন্য শ্রেণীর একটি সম্পত্তিতে ব্যবহার করি এবং ক্লায়েন্টের সাথে চুক্তি dll পুনরায় ব্যবহার করি, কোডজেন কোনও ত্রুটি বার্তা ছাড়াই বিস্ফোরিত হয়। Svcutil.exe চালানো কোনও উপকারে আসেনি, এটি সুনির্দিষ্টভাবে উল্লেখ না করে কোনও সিএস ফাইল আউটপুট করতে ব্যর্থ হয়েছিল।
নিম্নলিখিতটি এখানে তালিকাভুক্ত নয়, এবং এটি সমাধানটি আমি গ্রহণ করেছি (এসভিসিইটিসস ত্রুটি বার্তাটি দেখার ক্ষেত্রে কার্যকর ছিল However তবে, আমার যে ত্রুটিটি পেয়েছিল তা ছিল wrapper type message cannot be projected as a data contract type since it has multiple namespaces
Meaning অর্থ, আমি এই নেতৃত্বটি অনুসরণ করেছি এবং এই পোস্টের wsdl.exe
মাধ্যমে শিখেছি )।
আমার ক্ষেত্রে, কেবলমাত্র ডাব্লুএসডিএল [ আমার-এসএমএক্স-পরিষেবা-ঠিকানা ] চলমান একটি সমস্যা-মুক্ত .cs
ফাইল তৈরি করেছে, যা আমি আমার প্রকল্পে অন্তর্ভুক্ত করেছি এবং পরিষেবাটি ব্যবহারের জন্য দৃষ্টান্ত দিয়েছি।
@ ডাব্লুড যেমন উল্লেখ করেছেন, মূল ব্যথাটি ডেটা কন্ট্রাক্টসরিয়ালে রয়েছে যা সঠিকভাবে পুনরায় ব্যবহার না করে। এখানে ইতিমধ্যে কিছু উত্তর রয়েছে তাই আমি এগুলির জন্য কিছু প্রো এবং কনস যুক্ত করে শুরু করব:
ভাগ্যক্রমে, আপনি যদি নিজের পরিষেবার নিয়ন্ত্রণে থাকেন তবে একটি সহজ সমাধান রয়েছে যা এই সমস্ত সমস্যার সমাধান করে। এর অর্থ আপনি এখনও ডিএলএল জুড়ে পরিষেবা ইন্টারফেসগুলি পুনরায় ব্যবহার করতে পারেন - যা সঠিক সমাধানের জন্য আইএমও হওয়া আবশ্যক। সমাধানটি এইভাবে কাজ করে:
আপনার প্রিয় পদ্ধতিটি ব্যবহার করে ক্লায়েন্টটি তৈরি করতে একই ডিএলএল ব্যবহার করুন। উদাহরণস্বরূপ (আইএমআইইন্টারফেস হ'ল সার্ভিস কন্ট্রাক্ট ইন্টারফেস):
var httpBinding = new BasicHttpBinding();
var identity = new DnsEndpointIdentity("");
var address = new EndpointAddress(url, identity, new AddressHeaderCollection());
var channel = new ChannelFactory<IMyInterface>(httpBinding, address);
return channel.CreateChannel();
অন্য কথায়: 'পরিষেবা রেফারেন্স যুক্ত করুন' কার্যকারিতাটি ব্যবহার করবেন না , তবে ডক্লুসিএফকে প্রক্সি জেনারেশনকে বাইপাস করে (সঠিক) পরিষেবা ধরণের ব্যবহার করতে বাধ্য করুন। সর্বোপরি, আপনার ইতিমধ্যে এই ক্লাসগুলি রয়েছে।
প্রো এর:
কনস:
উভয় পক্ষের প্রকল্পের রেফারেন্সের সাথে কাজ করার সময় আমার কাছে ভাঙা পরিষেবাগুলির রেফারেন্সের বিষয়টি ছিল (পরিষেবা প্রকল্প এবং প্রকল্পটিতে পরিষেবাটির একটি উল্লেখ রয়েছে) having উদাহরণস্বরূপ রেফারেন্সড প্রকল্পের .dll কে যদি "Contoso.De વિકાસment.Common" বলা হয় তবে প্রকল্পগুলির নামটি কেবল "কমন" থেকে সংক্ষিপ্ত করা হয়, এছাড়াও এই প্রকল্পের প্রকল্পের উল্লেখগুলি কেবল "প্রচলিত" নামকরণ করা হয়েছে। পরিষেবাটি তবে ক্লাসগুলি সমাধান করার জন্য "Contoso.De વિકાસment.Common" এর একটি রেফারেন্স আশা করে (যদি এই পরিষেবাটি পরিষেবার রেফারেন্স বিকল্পগুলিতে সক্রিয় করা থাকে)।
তাই এক্সপ্লোরারের সাহায্যে আমি প্রকল্পটির ফোল্ডারটি খুললাম যা পরিষেবা এবং "প্রচলিত" প্রকল্পটি উল্লেখ করছে re সেখানে আমি নোটপ্যাড দিয়ে ভিএস প্রকল্প ফাইল (.csproj) সম্পাদনা করি। রেফারেন্সড প্রকল্পের নাম অনুসন্ধান করুন (যা এই উদাহরণে "Common.csproj") এবং আপনি দ্রুত প্রকল্পের রেফারেন্স উপস্থাপন করে কনফিগারেশন এন্ট্রি পাবেন।
আমি বদলে গেছি
<ProjectReference Include="..\Common\Common.csproj">
<Project>{C90AAD45-6857-4F83-BD1D-4772ED50D44C}</Project>
<Name>Common</Name>
</ProjectReference>
প্রতি
<ProjectReference Include="..\Common\Common.csproj">
<Project>{C90AAD45-6857-4F83-BD1D-4772ED50D44C}</Project>
<Name>Contoso.Development.Common</Name>
</ProjectReference>
গুরুত্বপূর্ণ বিষয়টি হ'ল রেফারেন্স যুক্ত প্রকল্পটির আউটপুট হিসাবে ডেলির নাম উল্লেখ করে নাম পরিবর্তন করা।
তারপরে আবার ভিএস-এ ফিরে যান সেখানে আপনাকে প্রকল্পটি পুনরায় লোড করতে বলা হবে যেহেতু এটি ভিএস এর বাইরে সংশোধন করা হয়েছে since পুনরায় লোড বোতামটি ক্লিক করুন।
কাজটি করার পরে পরিষেবা রেফারেন্সকে আপডেট করার পরে প্রত্যাশার মতোই কাজ হয়েছিল।
আশা করি এটিও অন্য কাউকে সহায়তা করে।
শ্রদ্ধা এমএইচ
উন্নয়নের সময় আমিও গতকাল একই ধরণের সমস্যার মুখোমুখি হয়েছিলাম। আমি জানতে পেরেছি যে চুক্তির 2 বিভিন্ন সংস্করণে আমি একই নামস্থান ব্যবহার করছিলাম।
সংস্করণ 4 এবং সংস্করণ 5 এর জন্য আমাদের কাছে চুক্তির 2 সংস্করণ রয়েছে। আমি সংস্করণ 4 থেকে সমস্ত চুক্তি অনুলিপি করেছি এবং সংস্করণ 4 থেকে সংস্করণ 5 এ সমস্ত নাম স্থানটির নামকরণ করেছি। এটি করার সময় আমি কোনও একটিতে v4 থেকে v5 নামটির স্থানটির নামকরণ করতে ভুলে গিয়েছিলাম। নাম স্থান বিরোধের কারণে, References.cs ফাইলটি খালি ছিল।
পরিষেবাদি রেফারেন্স উত্পন্ন করার সময় আপনি কোনও ত্রুটি বার্তা না পেয়ে এই সমস্যাটি সমস্যা সমাধান করা শক্ত। এই সমস্যাটি সনাক্ত করতে আমি নিজের তৈরি করা সমস্ত নতুন ফাইলকে ম্যানুয়ালি বৈধতা দিয়েছি। এই সমস্যাটি সমাধান করার অন্যান্য উপায় রয়েছে। এটি অন্যান্য বিকল্পের দিকে যাওয়ার আগে আপনার প্রথম পদক্ষেপ করা উচিত।
উপরের জন স্যান্ডার্স পোস্টকে ধন্যবাদ জানায় যা আমাকে ত্রুটি উইন্ডোটি দেখার জন্য একটি ধারণা দিয়েছে। আমি সারা দিন আমার মাথা ব্যাগ করে যাচ্ছিলাম এবং আমি কোনও ত্রুটির জন্য আউটপুট উইন্ডোটির দিকে চেয়ে ছিলাম।
আমার ক্ষেত্রে অপরাধী ছিল ইশেরিয়ালাইজেবল। আমার কাছে ডেটা কন্ট্রাক্ট ক্লাস রয়েছে ডেটা মেম্বার সম্পত্তি সহ ব্যতিক্রম। আপনার কাছে এমন কোনও ডেটা মেম্বার টাইপ নেই যাতে ইরিশরিয়ালযোগ্য কীওয়ার্ড রয়েছে। এই ব্যাতিক্রমে ইশিরাইজযোগ্য রয়েছে যত তাড়াতাড়ি আমি এটিকে সরিয়ে দেওয়ার সাথে সাথে সমস্ত কিছুই কবজির মতো কাজ করে।
এই সমস্যাটির সাথে সমস্যা সমাধানের চেষ্টা করার সময় svcutil
, আমি dblood এর উত্তরে উল্লিখিত ত্রুটি পেয়েছি ("রেফারেন্সড টাইপটি ব্যবহার করা যাবে না কারণ এটি আমদানীকৃত ডেটা কন্ট্রাক্টের সাথে মেলে না")।
আমার ক্ষেত্রে অন্তর্নিহিত কারণটি এমন একটি এনাম টাইপ বলে মনে হয়েছিল যার ডেটা কন্ট্রাক্ট বৈশিষ্ট্য ছিল তবে তার সদস্যরা এনামমেম্বার বৈশিষ্ট্যের সাথে চিহ্নিত ছিল না। সমস্যা শ্রেণিটি svcutil
নির্দেশিত সেই এনাম টাইপের একটি সম্পত্তি ছিল।
ডাব্লুডের উত্তরের মন্তব্য হিসাবে এটি আরও উপযুক্ত হবে তবে এর পক্ষে যথেষ্ট প্রতিনিধি নয় ...
আমার ক্ষেত্রে আমার কাছে ভিবি ওয়েব ফর্ম প্রকল্পের সাথে একটি সমাধান ছিল যা একটি সি # ব্যবহারকারীকন্ট্রোল রেফারেন্স করেছে। ভিবি প্রকল্প এবং সিএস প্রকল্প উভয়েরই একই পরিষেবার একটি পরিষেবার রেফারেন্স ছিল। ভিবি প্রকল্পে পরিষেবা রেফারেন্সের অধীনে এবং সিএস (কাঠামো) প্রকল্পে সংযুক্ত পরিষেবাদি গোষ্ঠীভুক্তকরণের অধীনে রেফারেন্সটি উপস্থিত হয়েছিল।
ভিবি ওয়েব ফর্ম প্রকল্পে পরিষেবা রেফারেন্সটি (যেমন, রেফারেন্স.ভিবি ফাইলটি খালি না হওয়ার জন্য পান) আপডেট করার জন্য, আমাকে সিএস প্রকল্পটি সরিয়ে ফেলতে হবে, তারপরে ভিবি পরিষেবা রেফারেন্সটি আপডেট করতে হবে, তারপরে সিএস প্রকল্পটি আবার যুক্ত করতে হবে সমাধান.
এই পদক্ষেপগুলি অনুসরণ করুন:
দেখে মনে হচ্ছে পরিষেবা যুক্ত করার সময় এই ফোল্ডারগুলিতে কিছু রেফারেন্স বাকী রয়েছে যা কোডের স্বয়ংক্রিয় উত্পন্নকরণের সময় ত্রুটি সৃষ্টি করে।