2010-08-31 13 views
21

यह मुझे पागल कर रहा है, शायद मुझे कुछ याद आ रहा है लेकिन मैं .NET 4.0 पर .NET 3.5 एप्लिकेशन को अपग्रेड करने का प्रयास कर रहा हूं और एकमात्र समस्या जो मैं चल रहा हूं वह है:सर्विसहोस्ट फैक्टरी .NET 4.0 में गायब है?

3.5 कोड:

public class ServiceHostFactory : System.ServiceModel.Activation.ServiceHostFactory 
    { 
     protected override System.ServiceModel.ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses) { 
      return new ServiceHost(serviceType, baseAddresses); 
     } 
    } 

जब मैं 4.0 में अपग्रेड करता हूं, ऐसा लगता है कि "ServiceHostFactory" मौजूद नहीं है (यह लाल है)। System.ServiceModel.Activation के तहत ऑब्जेक्ट ब्राउज़र में जाकर, यह वास्तव में कोई सेवाहोस्ट फैक्टरी नहीं दिखाता है।

इस के अनुसार:

http://msdn.microsoft.com/en-us/library/system.servicemodel.activation.servicehostfactory.aspx

यह 4.0 में समर्थित होना चाहिए। मुझे यहां क्या समझ नहीं आ रहा है?

उत्तर

33

सिस्टम.ServiceModel.dll में सिस्टम में कुछ आइटम हैं। सर्विसमोडेल। एक्टिवेशन नेमस्पेस।

हालांकि, ServiceHostFactory System.ServiceModel.Activation.dll में है। तो आपको उस असेंबली का संदर्भ जोड़ना होगा। ध्यान रखें कि डिफ़ॉल्ट रूप से, VS2010 .NET 4 क्लाइंट प्रोफाइल का उपयोग करना चाहता है, इसलिए आपको System.ServiceModel.Activation के संदर्भ को जोड़ने से पहले नियमित .NET 4 प्रोफ़ाइल में इसे बदलना होगा।

+0

पूरी तरह से काम किया! शुरुआती .NET 4 क्लाइंट प्रोफाइल चीज़ को मिला, यह एक और आधे घंटे बर्बाद हो गया था;) –

+0

बहुत धन्यवाद, ब्रैड! –