2010-10-26 17 views
5

पर स्विच करते समय संदर्भों को हल करने में असमर्थ है: मैं इसका उपयोग कर रहा हूं: सिल्वरलाइट संस्करण 4.0, 100% एफ # समाधान। डीबग से पर लक्ष्य कॉन्फ़िगरेशन स्विच करते समय मुझे कोई समस्या है। सब कुछ डिबग मोड में ठीक संकलित, तो रिलीज में मैं निम्नलिखित मिल:सिल्वरलाइट डीबग से रिलीज

C: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.30319 \ Microsoft.Common.targets (1360,9): चेतावनी MSB3245 : इस संदर्भ को हल नहीं कर सका। असेंबली "System.ComponentModel.DataAnnotations" का पता नहीं लगा सका। यह सुनिश्चित करने के लिए जांचें कि असेंबली डिस्क पर मौजूद है। यदि इस संदर्भ में आपके कोड द्वारा आवश्यक है, तो आप संकलन त्रुटियों को प्राप्त कर सकते हैं।

C: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.30319 \ Microsoft.Common.targets (1360,9): चेतावनी MSB3245: इस संदर्भ को हल नहीं कर सका। असेंबली "System.Windows.Controls.Data.Input" का पता नहीं लगा सका। यह सुनिश्चित करने के लिए जांचें कि असेंबली डिस्क पर मौजूद है। यदि इस संदर्भ में आपके कोड द्वारा आवश्यक है, तो आप संकलन त्रुटियों को प्राप्त कर सकते हैं।

प्रोजेक्ट फाइल Lokos में आइटम समूह की तरह:

<ItemGroup> 
    <Reference Include="FSharp.PowerPack"> 
     <HintPath>C:\Program Files\FSharpPowerPack-2.0.0.0\Silverlight\v3.0\FSharp.PowerPack.dll</HintPath> 
    </Reference> 
    <Reference Include="mscorlib" /> 
    <Reference Include="FSharp.Core"> 
     <HintPath>$(ProgramFiles)\Microsoft F#\Silverlight\Libraries\Client\$(SilverlightVersion)\FSharp.Core.dll</HintPath> 
    </Reference> 
    <Reference Include="System" /> 
    <Reference Include="System.ComponentModel.DataAnnotations" /> 
    <Reference Include="System.Core" /> 
    <Reference Include="System.Net" /> 
    <Reference Include="System.Runtime.Serialization" /> 
    <Reference Include="System.Windows" /> 
    <Reference Include="System.Windows.Browser" /> 
    <Reference Include="System.Windows.Controls"> 
     <HintPath>bin\Debug\System.Windows.Controls.dll</HintPath> 
    </Reference> 
    <Reference Include="System.Windows.Controls.Data"> 
     <HintPath>bin\Debug\System.Windows.Controls.Data.dll</HintPath> 
    </Reference> 
    <Reference Include="System.Windows.Controls.Data.Input" /> 
    <Reference Include="System.Windows.Controls.DataVisualization.Toolkit"> 
     <HintPath>bin\Debug\System.Windows.Controls.DataVisualization.Toolkit.dll</HintPath> 
    </Reference> 
    <Reference Include="System.Windows.Controls.Input"> 
     <HintPath>c:\Program Files\Microsoft SDKs\Silverlight\v4.0\Libraries\Client\System.Windows.Controls.Input.dll</HintPath> 
    </Reference> 
    <Reference Include="System.Windows.Controls.Layout.Toolkit"> 
     <HintPath>bin\Debug\System.Windows.Controls.Layout.Toolkit.dll</HintPath> 
    </Reference> 
    <Reference Include="System.Windows.Controls.Navigation"> 
     <HintPath>bin\Debug\System.Windows.Controls.Navigation.dll</HintPath> 
    </Reference> 
    <Reference Include="System.Windows.Controls.Toolkit"> 
     <HintPath>bin\Debug\System.Windows.Controls.Toolkit.dll</HintPath> 
    </Reference> 
    <Reference Include="System.Windows.Data"> 
     <HintPath>bin\Debug\System.Windows.Data.dll</HintPath> 
    </Reference> 
    <Reference Include="System.Xml" /> 
    </ItemGroup> 

Obviuosly कुछ तत्वों HintPaths है, जबकि दूसरों को नहीं, और जबकि कुछ hintpaths है वहाँ ...

निरपेक्ष और सापेक्ष पथ प्रतीत

क्या कोई मेरी मदद कर सकता है? अग्रिम में धन्यवाद।


ठीक तो मैं संदर्भ हटा दिया और फिर उन्हें readded और वे के प्रारूप में प्रोजेक्ट फ़ाइल में आया:

ग: \ Program Files \ Microsoft SDKs \ सिल्वरलाइट \ v4। 0 \ पुस्तकालय \ क्लाइंट \ System.ComponentModel.DataAnnotations.dll

संदर्भ दोनों के लिए

। यह सभी संकलन - दोनों संस्करणों में। हिंटपाथ पर कोई संकेत? उनका उपयोग कैसे किया जाता है और वे कैसे और कब उत्पन्न होते हैं? और जब मैंने प्रोज फ़ाइल को हाथ से संशोधित करने का प्रयास किया तो यह कोई फर्क नहीं पड़ता (अभी भी संकलित नहीं हुआ है, भले ही वीएस ने मुझे यह पुनः लोड किया)? जैसे आप किसी अन्य मशीन से परियोजना ले जाया

Thx

+0

हिंटपाथ के बारे में, इस प्रश्न को देखें: http://stackoverflow.com/questions/1882038/hintpath-vs-referencepath-in-visual-studio – herzmeister

उत्तर

1

ध्वनि और आप Silverlight Toolkit और WCF RIA Services आपकी मशीन पर स्थापित नहीं है।

अपना समाधान साफ़ करें, अपना विजुअल स्टूडियो बंद करें और याद रखें कि क्या गुम है।

+0

या उसी स्थान पर स्थापित किया गया है? हम डेवलपर्स के एक छोटे समूह के बीच काम कर रहे हैं और मैं अपने कोड को दोबारा करने के लिए कूद गया, और कई छोटी परियोजनाओं में वितरित किया। ओह। – akaphenom

+0

हां, सभी टीम सदस्यों के लिए सब ठीक से और उसी स्थान पर स्थापित करने की अनुशंसा की जाती है। जब कुछ नहीं मिलता है, तो विजुअल स्टूडियो इसे डीबग या रिलीज फ़ोल्डर से लिंक करेगा जब परियोजना पहले साफ नहीं की गई थी। तो चीजें जल्द ही या बाद में एक सुंदर गड़बड़ हो सकती हैं ... – herzmeister

+0

जब आप डेवलपर्स के अपेक्षाकृत बड़े समूह में होते हैं तो मैं आमतौर पर उन स्रोतों से बचता हूं जो मूल सिल्वरलाइट के बाहरी स्रोतों को स्रोत नियंत्रण में "LIB" फ़ोल्डर में सेट करते हैं और मैं सुनिश्चित करता हूं कि प्रोजेक्ट में सभी संदर्भ इंस्टॉल किए गए लोगों की बजाय उन असेंबली को इंगित करें। इस तरह से मैं पुस्तकालयों के विभिन्न संस्करणों का उपयोग करके कई परियोजनाएं भी कर सकता हूं, इससे कोई फर्क नहीं पड़ता कि मैंने अपने कंप्यूटर में कौन सा संस्करण स्थापित किया है या यहां तक ​​कि यदि मैं नहीं करता हूं। – Murven

1

एफवाईआई, भेजे गए माइक्रोसॉफ्ट में एक बग है .FSharp.targets जो इसके साथ बातचीत कर सकते हैं।आप इसे ठीक करने के लिए इस लाइन

<FrameworkRegistryBase Condition="'$(TargetFrameworkIdentifier)'=='Silverlight'">Software\Microsoft\Microsoft SDKs\$(TargetFrameworkIdentifier)</FrameworkRegistryBase> 
एक <PropertyGroup> (बस नीचे <Tailcalls> तत्व एक अच्छा स्थान है) के अंदर

Microsoft.FSharp.targets अंदर जोड़ सकते हैं। मुझे नहीं पता कि यह आपकी समस्या से संबंधित है (ऐसा लगता है कि ऐसा नहीं हो सकता है), लेकिन मामले में केवल एक सिर-अप।

(तथ्य यह है कि आप प्राप्त एक HintPath (भले ही आप बातें करते दाएं) भी एफ # परियोजना प्रणाली में एक बग का परिणाम हो सकता है।)

एक संभावित रणनीति अगर आप की जरूरत है एक समाधान की जाँच करने के लिए है डीएलएल की एक प्रति में आपको स्रोत नियंत्रण के तहत एक निश्चित स्थान (अपनी परियोजनाओं के सापेक्ष) में संदर्भित करने की आवश्यकता है, और फिर उन डीएलएल को 'निश्चित' सापेक्ष पथ के माध्यम से संदर्भित करें।

+0

ब्रायन - क्या आपको पता है कि परियोजना प्रणाली में इन बग को ठीक करने के लिए क्या योजना तय करना है (फिक्स को ठीक करना)? Thx – akaphenom

+0

चूंकि एफ # प्रोजेक्ट सिस्टम वीएस -2010 का एक एकीकृत हिस्सा है, इसलिए अंततः वीएस बिट्स (जैसे भविष्य में सेवा पैक में या वीएस की भविष्य में रिलीज में) के साथ फिक्स आएंगे। – Brian

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