मैं क्लाइंट साइड रिपोर्ट (rdlc) बनाने के लिए वीएस 2010 से रिपोर्टव्यूयर नियंत्रण का उपयोग कर रहा हूं। सब कुछ मेरी विकास मशीन पर ठीक काम कर रहा है, और जब मैं मैन्युअल रूप से संकलित करता हूं (वीएस -2010 के माध्यम से) और मैन्युअल रूप से एक परीक्षण मशीन पर तैनात करता है जिसमें विकास उपकरण स्थापित नहीं होते हैं।एमएसबिल्ड आरडीएलसी फ़ाइल संकलित करने के लिए असेंबली के गलत संस्करण का उपयोग
आदेश (VS2010 या ReportViewer.exe की स्थापना के बिना) काम करने के लिए परीक्षण मशीन पाने के लिए, मैं Microsoft.ReportViewer.Winforms, Microsoft.ReportViewer.Common और Microsoft.ReportViewer.ProcessingModel और करने के लिए अपने प्रोजेक्ट में संदर्भ जोड़ने के लिए किया था उन्हें सभी "स्थानीय कॉपी करें"।
मेरे पास बिल्ड एक्शन => एम्बेडेड संसाधनों के लिए कॉन्फ़िगर की गई rdlc फ़ाइलें हैं। प्रोजेक्ट में नया rdlc जोड़ते समय यह डिफ़ॉल्ट सेटिंग है। मैं इसे अन्यथा कॉन्फ़िगर करने के लिए खुला हूं अन्यथा यदि यह इस समस्या को हल करेगा (कोई विचार नहीं है तो यह संबंधित है)।
समस्या: rdlc फ़ाइलों को जोड़ने के बाद, समाधान अब बिल्ड सर्वर पर नहीं बनाता है। मैंने बिल्ड सर्वर पर ReportViewer.exe स्थापित किया है, और सत्यापित किया है कि आवश्यक असेंबली जीएसी में मौजूद है। .NET 4 ढांचे को बिल्ड सर्वर पर स्थापित नहीं किया गया है - मुझे नहीं लगता कि यह आवश्यक है क्योंकि समाधान 3.5 रनटाइम को लक्षित करता है।
मेरा मानना है कि निर्माण लॉग से निम्न समस्या की जड़ है:
Target "RunRdlCompiler": Building target "RunRdlCompiler" completely. Output file "obj\Release\RdlCompile.compiled" does not exist. Using "RdlCompile" task from assembly "Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a". Task "RdlCompile": Report\RDLC\GreenReport.rdlc (0,0): error rsInvalidReportDefinition: 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.
मैं क्या बता सकते हैं, Microsoft.ReportViewer.Common संस्करण 10.0.0.0 क्या "संकलन" करने के लिए इस्तेमाल किया जाना चाहिए है rdlc, लेकिन MSBuild 9.0.0.0 का उपयोग कर प्रतीत होता है। मेरा मानना है कि अगर मैं इसे सही संस्करण (जो जीएसी में स्थापित है) का उपयोग करने के लिए मजबूर कर सकता है, तो समाधान संकलित होगा।
मैं अब इसके साथ गड़बड़ नहीं कर रहा हूं कि यह काम कर रहा है, लेकिन स्पष्टीकरण निश्चित रूप से प्रबुद्ध है - मैं इस जानकारी के लिए उच्च और निम्न गुगल रहा था और कुछ भी नहीं मिला। –