2011-10-31 13 views
21

बाद मैं VS11 स्थापित, मैं निम्न त्रुटि प्राप्त करने के लिए शुरू कर दिया:एफ # में चेतावनी "विधानसभा के app.config remapping ... पर विचार करें"

Consider app.config remapping of assembly "FSharp.Core, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" from Version "2.0.0.0" [C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.dll] to Version "4.0.0.0" [C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\FSharp.Core.dll] to solve conflict and get rid of warning. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1490,5): warning MSB3247: Found conflicts between different versions of the same dependent assembly.

वास्तव में क्या मुझे क्या करना चाहिए? मुझे नहीं पता कि इस तरह के एक remapping कैसे करें।

उत्तर

18

नीचे मुझे लगता है कि एक नमूना app.config है जो सुझाव दिया जाता है। हालांकि, आपकी परियोजना में क्या है, और क्या FSharp.Core संदर्भ है? क्या आप नेट 4.5 या 4.0 को लक्षित कर रहे हैं या क्या? क्या यह प्रोजेक्ट कुछ पुरानी एफ # लाइब्रेरी का संदर्भ देता है? यह आमतौर पर इसलिए होता है क्योंकि दो प्रोजेक्ट FSharp.Core.dll के विभिन्न संस्करणों का संदर्भ देते हैं, उदा। .fsproj फ़ाइलों में <Reference> नोड्स की जांच करें।

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" 
          culture="neutral"/> 
<!--  <bindingRedirect oldVersion="0.0.0.0-2.9.9.9" newVersion="4.3.0.0"/> --> 
      <bindingRedirect oldVersion="2.0.0.0" newVersion="4.0.0.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration> 
+0

FSharp का कोई संस्करण नहीं है। Fsproj में उल्लेख किया गया है। Fsproj फ़ाइलों में एक लिंक (http://dl.dropbox.com/u/4571/send.zip) यहां दिया गया है। मैं उनको देख रहा था लेकिन मुझे कुछ अजीब नहीं देखा। मैं .NET 4.0 सीएल को लक्षित कर रहा हूं और मुझे कुछ भी पुराना संदर्भ देने के बारे में पता नहीं है, लेकिन यह हो सकता है :) –

+0

क्या आपके पास कोई और सुझाव है? –

+0

हां। वीएस 11 के साथ एक नया एफ # प्रोजेक्ट बनाएं, और इसकी .fsproj फ़ाइल का निरीक्षण करें। अब लक्ष्य फ़ाइलों से ' 'लाइनों को हटाकर और नव निर्मित वीएस 11 प्रोजेक्ट में देखे गए लोगों के साथ उन्हें बदलकर अपनी मौजूदा परियोजनाओं को बदलें। साथ ही, नव निर्मित प्रोजेक्ट में ' 'mscorlib और FSharp.Core के लिए स्पष्ट होगा। अपनी परियोजनाओं में उनको जोड़ें यदि वे वहां नहीं हैं (वांछित संस्करण/लक्ष्यीकरण के साथ यदि आवश्यक हो)। मुझे लगता है कि चीजें काम करेंगे। – Brian

0

आप पूरा किया है, तो अच्छी तरह से उन्नयन, ऐसी कोई मुद्दा होना चाहिए ... जब तक आप किसी तीसरे पक्ष पुस्तकालय, वर्ष FSharp.Core खुद का उपयोग करता है का उपयोग कर रहे हैं। मेरे मामले में यह FSharpPowerPack है जो यह करता है।

तो आपको इस संदेश से छुटकारा पाने के लिए पहले उस लाइब्रेरी को अपडेट करना होगा।

3

ही Json.Net

से संबंधित प्रोजेक्ट फ़ाइल में त्रुटि मैं

<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>..\packages\Newtonsoft.Json.6.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> 
</Reference> 

और

<ItemGroup> 
    <Reference Include="Newtonsoft.Json"> 
     <HintPath>..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll</HintPath> 
    </Reference> 
</ItemGroup> 

था हटाया जा रहा है एक पुरानी समस्या हल हो।