9

मैंने विजुअल स्टूडियो 2008 पर अपनी परियोजना बनाई है, साथ ही साथ आरडीएलसी फाइलें भी बनाई हैं। लेकिन अब, जब मैं विजुअल स्टूडियो 2010 पर समाधान खोलता हूं और आरडीएलसी फ़ाइल खोलना चाहता हूं, तो यह मुझे एक चेतावनी दिखा रहा है।विजुअल स्टूडियो 2010 आरएसएलसी को आरएसएलसी 2008 प्रारूप में आरएसएलसी में परिवर्तित करने के लिए कह रहा है?

यह थोड़ा मजाकिया है। रिपोर्ट वीएस -2008 और वीएस -2010 पर बनाई गई थी जिसे 2008 प्रारूप में परिवर्तित करने के लिए कहा जा रहा है। शायद मेरी वीएस -2008 स्थापना पर एक समस्या थी जिसने आरडीएलसी फाइलों को कुछ प्राचीन प्रारूप (2005 ??!)

समस्या तब होती है जब आप ओके बटन की पुष्टि करते हैं, कुछ डिज़ाइन समायोजन करते हैं और ऐप चलाते हैं, यह एक फेंकता है 'मुख्य रिपोर्ट' पर त्रुटि:

ex.InnerException 
{"The definition of the report 'Main Report' is invalid."} 
    [Microsoft.Reporting.DefinitionInvalidException]: {"The definition of the report 'Main Report' is invalid."} 
    Data: {System.Collections.ListDictionaryInternal} 
    HelpLink: null 
    InnerException: {"The report definition is not valid. Details: The report definition has an invalid target namespace 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' which cannot be upgraded."} 
    Message: "The definition of the report 'Main Report' is invalid." 
    Source: "Microsoft.ReportViewer.Common" 
    StackTrace: " at Microsoft.Reporting.ReportCompiler.CompileReport(CatalogItemContext context, Byte[] reportDefinition, Boolean generateExpressionHostWithRefusedPermissions, ReportSnapshotBase& snapshot)\r\n at Microsoft.Reporting.StandalonePreviewStore.StoredReport.CompileReport()\r\n at Microsoft.Reporting.StandalonePreviewStore.StoredReport.get_Snapshot()\r\n at Microsoft.Reporting.StandalonePreviewStore.GetCompiledReport(CatalogItemContext context, Boolean rebuild, ReportSnapshotBase& snapshot)\r\n at Microsoft.Reporting.LocalService.GetCompiledReport(CatalogItemContext itemContext, Boolean rebuild, ReportSnapshotBase& snapshot)\r\n at Microsoft.Reporting.LocalService.CompileReport(CatalogItemContext itemContext, Boolean rebuild)\r\n at Microsoft.Reporting.WinForms.LocalReport.CompileReport()" 
    TargetSite: {Microsoft.ReportingServices.ReportProcessing.PublishingResult CompileReport(Microsoft.ReportingServices.Diagnostics.CatalogItemContext, Byte[], Boolean, Microsoft.ReportingServices.Library.ReportSnapshotBase ByRef)} 
+0

ऐसा लगता है कि विजुअल स्टूडियो 2008 SQL Server 2008 RDLC फ़ाइलों के साथ संगत नहीं है? वीएस 2008 अभी भी मेरी आरडीएलसी फाइल पर मिली SQL सर्वर 2005 आरडीएलसी स्कीमा का उपयोग कर रहा है:

+0

और यहां है आरडीएलसी 2008 प्रारूप की सही परिभाषा:

उत्तर

1

यहां एक कामकाज है।

  • परिवर्तित या VS2010 में अपनी रिपोर्ट को संपादित न करें (अगर वहाँ कुछ वहाँ गलत)

  • स्थापित रिपोर्ट व्यूअर 2008 स्थापित

  • एसक्यूएल सर्वर व्यापार खुफिया स्टूडियो 2008

  • एसक्यूएल सर्वर बिजनेस इंटेलिजेंस में, अपनी रिपोर्ट के लिए एक खाली प्रोजेक्ट बनाएं

  • .ldl में फ़ाइल एक्सटेंशन का नाम बदलें इस प्रोजेक्ट में अपनी मौजूदा rdl फ़ाइलों को जोड़ें।

  • बिल्ड और अपनी परियोजना को तैनात

2

बस संस्करणों के बारे में अपने भ्रम की स्थिति स्पष्ट करने के लिए:

जब विजुअल स्टूडियो 2008 जारी किया गया था, RDL 2008 स्कीमा जारी नहीं किया गया। और इसलिए वीएस 2008 ने केवल आरडीएल 2005 स्कीमा का समर्थन किया। आरडीएल 2008 स्कीमा वीएस 2010 द्वारा समर्थित है। आरडीएल स्कीमा विजुअल स्टूडियो संस्करण की तुलना में एक संस्करण पीछे है, और जैसा कि आप देख सकते हैं कि यह कभी-कभी कुछ भ्रम का मूल कारण होता है।

10

मुझे rdlc के VS2010 के पुराने संस्करणों को परिवर्तित करते समय एक समान समस्या का अनुभव होता है। रूपांतरण ठीक है, क्या होने की आवश्यकता है कि माइक्रोसॉफ्ट के संदर्भ। ReportViwer.Common को संस्करण 9 से संस्करण 10 में बदला जाना चाहिए। माइक्रोसॉफ्ट के साथ ऐसा ही करें। ReportViewer.WebForms भी। आपको web.config में संस्करण 9 के सभी संदर्भों और पेज 10 में ReportViewer नियंत्रण वाले पृष्ठों में भी बदलने की आवश्यकता होगी। इससे मेरी सभी समस्याएं हल हुईं और VS2010 में रिपोर्ट को संशोधित करने में सक्षम था।

+0

यह धागा पर दूसरों की तुलना में एक बहुत ही सरल जवाब था (यद्यपि आपकी पोस्ट दूसरों की तुलना में थोड़ा नया है) - धन्यवाद! – Josh

+0

आपको ऐप/web.config में असेंबली संदर्भों को अपडेट करने की भी आवश्यकता होगी – solidau

0
<httpHandlers> 
    <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> 
    <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> 
</httpHandlers> 

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <handlers> 
     <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
    </handlers> 
</system.webServer> 
5

यह जवाब कि एक जवाब के रूप में स्थापित किया गया है की तुलना में बहुत आसान है ...

सभी आप इन के रूप में अभी भी संस्करण 9 ओर इशारा करते हैं अपनी परियोजना से ReportViewer करने के लिए अपने संदर्भ निकाल करने की जरूरत है (), फिर संदर्भ जोड़ने के लिए जाएं और ReportViewer संदर्भों का चयन करें जो संस्करण 10 हैं ..