2012-03-28 11 views
5

तक पहुंचने का प्रयास किया गया यह प्रश्न here और here पोस्ट किए गए प्रश्नों से अलग है, भले ही शीर्षक समान हैं।त्रुटि MSB4018: "CreateRiaClientFilesTask" कार्य अप्रत्याशित रूप से विफल रहा - एक अनलोड किए गए ऐपडोमेन

समस्या अचानक उत्पन्न होती है। त्रुटि तब होती है जब परियोजना को साफ किया गया हो या ताजा चेकआउट से बनाया जा रहा हो। फिर से निर्माण करना तुरंत निर्माण के परिणामस्वरूप परिणामस्वरूप सफल होता है। स्टैकट्रेस मैं मिलता है:

error MSB4018: The "CreateRiaClientFilesTask" task failed unexpectedly. 
System.AppDomainUnloadedException: Attempted to access an unloaded AppDomain. 
    at System.IDisposable.Dispose() 
    at Microsoft.ServiceModel.DomainServices.Tools.CreateRiaClientFilesTask.GenerateClientProxies() 
    at Microsoft.ServiceModel.DomainServices.Tools.CreateRiaClientFilesTask.ExecuteInternal() 
    at Microsoft.ServiceModel.DomainServices.Tools.RiaClientFilesTask.Execute() 
    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__1c.MoveNext() 

समस्या भी नियमित रूप से संपादित-निर्माण को अंजाम चक्र के दौरान बीच-बीच में होता है, और कभी कभी दृश्य स्टूडियो से पुन: प्रारंभ करने यह इन अवसरों पर काम करने के लिए आवश्यक है।

समस्या एमएसबिल्ड और विजुअल स्टूडियो 2010 दोनों में होती है। मेरे पास नवीनतम अद्यतन स्थापित हैं (डब्ल्यूसीएफ आरआईए सेवा एसपी 2)। यह सिल्वरलाइट 4 टूल्स का उपयोग करते समय हुआ, और सिल्वरलाइट 5 में अपग्रेड करने से समस्या हल नहीं हुई है। समस्या यह भी अभी भी वी.एस. 11. के बीटा में होता है

मैं निर्माण के आदेश को बदलने में सक्षम के रूप में वर्णित here (here से संदर्भित) नहीं किया है किया गया MSBuild एक सर्कुलर निर्भरता की शिकायत और विजुअल स्टूडियो का कहना है कि मैं के रूप में एक सिल्वरलाइट से एक गैर-सिल्वरलाइट परियोजना का संदर्भ नहीं दे सकता। उस पृष्ठ से मैंने this link का पालन करने का भी प्रयास किया है और रजिस्ट्री में डिफ़ॉल्ट टूल्स वर्जन 2.0 से 4.0 में बदल दिया है।

मैं निश्चित रूप से एमएसबिल्ड के 32 बिट संस्करण का उपयोग कर रहा हूं, क्योंकि 64 बिट संस्करण का उपयोग करने की कोशिश करने से इकाई फ्रेमवर्क मॉडल को हाइड्रेट करने में विफल रहता है। मैं इसे समानांतर में बनाने के लिए/एम स्विच का उपयोग नहीं कर रहा हूं।

प्रोजेक्ट शुरू में एक वेब प्रोजेक्ट था (जो उस साइट को होस्ट करता है जिस पर सिल्वरलाइट नियंत्रण रहता है, आरआईए सेवाएं, और इसमें बिजनेस लॉजिक शामिल है) और सिल्वरलाइट प्रोजेक्ट। इसे 3 परियोजनाओं में बदलना (तर्क युक्त कक्षा पुस्तकालय के साथ) कोई फर्क नहीं पड़ता है।

अगली चीज़ जो मैं कोशिश करने की योजना बना रहा हूं वह है कि आरआईए सेवा को सिल्वरलाइट ऐप की मेजबानी करने वाले एक से अलग परियोजना हो रही है, लेकिन यह हमारे लिए आदर्श नहीं है (और मुझे यह भी यकीन नहीं है कि यह काम करेगा)।

+0

रिकॉर्ड के लिए: एक बारीकी से संबंधित प्रश्न http://stackoverflow.com/q/4450340/223837 है। –

उत्तर

0

मुझे इस समस्या का समाधान मिला है जिसने अब तक हर सर्वर और क्लाइंट को जारी किया है जिसे मैंने इसे चलाया है।

मेरा प्रारंभिक प्रोजेक्ट लेआउट में एक वेब प्रोजेक्ट था जो आरआईए घटकों और सिल्वरलाइट ऐप दोनों के लिए मेजबान के रूप में कार्य करता था। मैंने आरआईए सेवाओं के लिए कक्षा पुस्तकालय बनाया, मेरे सभी आरआईए तर्क को वहां स्थानांतरित कर दिया और वेब प्रोजेक्ट से इसका संदर्भ जोड़ा। फिर मैंने इस नई परियोजना को इंगित करने के लिए सिल्वरलाइट में आरआईए लिंक अपडेट किया।

मुझे निम्न पंक्ति को Silverlight app.xaml.cs फ़ाइल में जोड़ना पड़ा ताकि प्रमाणीकरण काम किया।

((WebAuthenticationService)WebContext.Current.Authentication).DomainContext 
    = new RiaNamespace.AuthenticationDomainContext(); 
0

मेरे पास मेरी कुछ परियोजनाओं के साथ एक ही चीज़ हो रही थी। मैंने पाया (वास्तव में अनुमानित) यह आरआईए और सिल्वरलाइट के मेरे अपग्रेड पथ से संबंधित था। मुझे एक नई मशीन मिली, सभी अपडेट के साथ और यह अभी भी हुआ। हालांकि, जब मैंने स्क्रैच से परियोजनाओं को फिर से बनाया (फ़ाइलों को कॉपी करना, और सेटिंग्स, 'जेनरेट की गई' असेंबली जानकारी नहीं), समस्या दूर हो गई।

कोई अनुमानित उत्तर नहीं है जिसे आप उम्मीद करते हैं, और ईमानदार होने के लिए, स्क्रैच से समाधान को फिर से बनाना एक दर्द था। मुझे संदेह है (और एकमात्र निष्कर्ष जो मैं ला सकता हूं) यह कुछ जीएसी घोषणा या अन्य से संबंधित था जो आरआईए ढांचे के पहले संस्करण के लिए पूछ रहा था।

मैंने आरआईए का एक संस्करण स्थापित किया है और इसका उपयोग करके कोड किया है, और इस समय के दौरान त्वरित उत्तराधिकार में कुछ सिल्वरलाइट अपडेट हुए थे। मुझे तब से कोई समस्या नहीं है।

+0

यहां वही अनुभव है: हमारे पास यह एक बिल्ड सर्वर पर था, और यह केवल तभी चला गया जब हम एक नए स्थान पर चले गए। मेरे पास यह मेरे विकास प्रणाली पर है (लेकिन शायद ही कभी), और मुझे यकीन है कि एक बार जब मैं एक नए स्थानांतरित हो जाऊंगा तो यह दूर चलेगा। फिर भी, कष्टप्रद। –

1

यह अपवाद मुझे पागल कर रहा है! मैंने एएसपी.Net अस्थायी फ़ोल्डर को साफ करने, समाधान में सभी परियोजनाओं को साफ करने, प्रशासक आदि के रूप में वीएस चलाने की भी कोशिश की लेकिन फिर भी मुझे यह समस्या है। समस्या का मेरा समाधान दो बार वेब प्रोजेक्ट का पुनर्निर्माण है।

3

मेरे मामले में, यह अपवाद मैकएफ़ी के एंटी-वायरस एप्लिकेशन के कारण हुआ था। 'ऑन-एक्सेस' को अक्षम करना (या यह 'ऑन-डिमांड' था) सुविधा ने इस मुद्दे को हल किया।

मेरे पास माइक्रोसॉफ्ट के सुरक्षा अनिवार्यता के साथ अतीत में एक समान समस्या थी जिसे नीचे बहिष्करण जोड़कर हल किया गया था। मुझे संदेह है कि यह 'अस्थायी एएसपी.Net फ़ाइलें' फ़ोल्डर बहिष्करण है जिसे इस मुद्दे को हल करने की आवश्यकता होगी।

अपवर्जित फ़ाइलें और स्थान

  • C: \ अस्थायी \ डिफ़ॉल्ट \ NuGet.exe
  • C: \ अस्थायी \ NativeImage \ NuGet.exe
  • C: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.30319 \ अस्थायी ASP.NET फ़ाइलें
  • NuGet.exe

को शामिल न करें घ प्रक्रियाओं

  • C: \ Program Files (x86) \ Common Files \ Microsoft साझा \ DevServer \ 11.0 \ WebDev.WebServer40.EXE
  • C: \ Program Files (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 11.0 \ Common7 \ IDE \ devenv.exe
  • C: \ Program Files (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 11.0 \ Common7 \ IDE \ Microsoft.VisualStudio.Web.Host.exe
  • C: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.30319 \ MSBuild.exe
+0

यह मेरे लिए भी तय किया गया है हालांकि चीजों को छोड़कर मैंने मैकफी को हटा दिया और कुछ और स्थापित किया। – BenCr

+0

यह हमारे लिए भी तय है। लेकिन हम कंपनी नीति के कारण मैकफी को स्थायी रूप से अक्षम नहीं कर पाएंगे या बहिष्करण को बदल नहीं सकते थे, और हमें 'अस्थायी एएसपी.Net फ़ाइलों' को एक अलग स्थान पर ले जाने का एक तरीका मिला। मैं इसके लिए एक अलग जवाब जोड़ रहा हूँ। –

0

अपने निकालें या अक्षम करें निर्माण के दौरान वायरस स्कैनर। मेरे लिए भी काम किया!

1

हमारे मामले में हम उसी समस्या में भाग गए जैसा कि इस प्रश्न के दूसरे उत्तर में बताया गया है (https://stackoverflow.com/a/14125687/223837): मैकएफ़ी ने अस्थायी रूप से 'अस्थायी एएसपी.नेट फाइल' में फ़ाइलों के साथ हस्तक्षेप किया। लेकिन हमारे मामले में हम कंपनी नीति के कारण मैकफी को अक्षम नहीं कर सकते थे या बहिष्कृत फ़ोल्डरों को बदल नहीं सकते थे।

लेकिन हम एक अलग समाधान: क्या हम है machine.config फ़ाइल को अपडेट किया (हमारे मामले C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config में), और एक <compilation tempDirectory="..."/> तत्व जोड़ इस प्रकार है:

<configuration> 
    <!-- snip --> 
    <system.web> 
     <!-- snip --> 
     <compilation tempDirectory="c:\A_FOLDER_THAT_IS_SKIPPED_BY_MCAFEE\TempASP.NETFiles\"/> 
    </system.web> 
    <!-- snip --> 
</configuration> 

(इस समाधान दिशा के लिए प्रेरणा से आया संबंधित प्रश्न का उत्तर: https://stackoverflow.com/a/1255303/223837।)

+0

Grmph। यह समाधान काफी कुछ बनाने में मदद करता था, लेकिन अब हमारे पास लगातार दो विफलताएं हैं। तो समस्या वापस आ गया है ... –

0

मुझे एक ही समस्या थी।

मैंने अभी "असेंबली संस्करण" नंबर बदल दिया और मेरी परियोजना ठीक थी।

संबंधित मुद्दे