2015-11-19 6 views
7

मैं निम्नलिखित स्थिति है
साथ समाधानमेरे स्थानीय कॉपी डीएल संदर्भ संदर्भ में किसी संदर्भ प्रोजेक्ट से स्थानीय नहीं हैं?

- Project 1: Web_Application (VB.NET Web Application) 
- Project 2: Code_Library (VB.NET DLL, Referenced in Project 1, References My_Reports, My_SQL) 
- Project 3: My_SQL (Embedded SQL scripts C# DLL, referenced in Code_Library) 
- Project 4: MyReports (C# dll, depends on ReportViewer), 
       referenced in Code_library, copyLocal = true 
       unfortunately depends on 
        - Microsoft.ReportViewer.WebForms.dll (copyLocal = true) 
        which depends on 
        - Microsoft.ReportViewer.Common.dll (copyLocal = true) 
        - Microsoft.ReportViewer.ProcessingObjectModel.dll (copyLocal = true) 
        - System.Web.DataVisualization.dll (copyLocal = true) 

ReportViewer dll के MyReports में localcopy की तैयारी में हैं परियोजना
Code_Library में, MyReports
localcopy को Web_Application, Code_Library & MyReports में सेट किया गया है सेट कर दिया जाता स्थानीय कॉपी

यह निम्नलिखित असंतोषजनक परिणाम देता है:
माइरपोर्ट्स में, आर eportViewer dll आउटपुट निर्देशिका में स्थानीय हैं।
Code_Library में, MyReports.dll उत्पादन निर्देशिका में है, लेकिन ReportViewer dll के नहीं हैं ...
Web_Application में, CodeLibrary.dll & MyReports.dll उत्पादन निर्देशिका में हैं, लेकिन ReportViewer dll के नहीं रहे हैं ...

क्यों?
क्या मैं क्या कर सकते हैं (मेरे वेब अनुप्रयोग परियोजना के लिए ReportViewer dll के जोड़ने की कमी है?

मैं बिल्कुल ReportViewer Code_Library को depencency के रूप में जोड़ने के लिए नहीं करना चाहते हैं, के बाद से तो मैं 2 स्थानों को अपडेट करने के लिए है , मैं कुछ ही विकल्प हैं अगर मैं ReportViewer के किसी उच्च संस्करण में परिवर्तित करना चाहते हैं

+0

कनेक्ट समस्या को खोल दिया https://connect.microsoft.com/VisualStudio/feedback/details/2035442 –

+0

क्या समस्या मशीन पर आपके जीएसी का समस्याग्रस्त डीएलएस हिस्सा है? यदि ऐसा है, तो उन्हें हटाने से स्थानीय निर्भरताओं को पूरा करने की आवश्यकता को समझने के लिए दृश्य स्टूडियो की सहायता मिल सकती है। – grek40

+0

@ grek4: सबसे अधिक संभावना है कि वे जीएसी में हैं। मैं उन्हें हटा नहीं सकता, मेरे पास प्रशासन अधिकार नहीं हैं। न तो अन्य डेवलपर्स हैं। मेरे पास SQL ​​सर्वर एक्सप्रेस और प्रबंधन स्टूडियो भी स्थापित है, इसलिए मैं यह नहीं कह सकता कि ये असेंबली मानक .NET 2.0 स्थापना के साथ स्थापित हैं या नहीं। इसके अतिरिक्त, .NET 2.0 डीएल शायद एक उत्पादन मशीन पर नहीं होगा, अगर यह .NET 4.0 ऐप-पूल पर चलता है। –

उत्तर

0

:

  1. GAC संदर्भ आप न कॉपी करने के लिए
  2. उन्हें app.config फ़ाइल में संदर्भ चाहते हैं - आला। this
  3. जहाँ आप उन्हें जरूरत के लिए फ़ाइलों की प्रतिलिपि करने के लिए एक postbuild ईवेंट जोड़ें ...

आप की जाँच कर सकता है जहां आवेदन enabling fusion logging द्वारा फ़ाइलों के लिए लग रही है।

+0

विकल्प 1 असंभव है, क्योंकि मेरे पास हमारे ग्राहक के सर्वर पर व्यवस्थापक पहुंच नहीं है। विकल्प 2 बहुत असंतोषजनक है, क्योंकि कई वेब_ अनुप्रयोग परियोजनाएं (विभिन्न ग्राहकों के लिए) Code_Library का उपयोग करती हैं। निश्चित पथ के साथ विकल्प 3, केवल मेरे कंप्यूटर पर काम करेगा। सापेक्ष पथ के साथ, केवल उन कंप्यूटरों पर काम करेगा जिनके पास एक ही निर्देशिका संरचना है। –

+0

आप संदर्भित परियोजना एला [इस] (http://stackoverflow.com/a/13766575/2319909) –

+0

हम्म में अप्रत्यक्ष संदर्भों को संभावित रूप से एम्बेड कर सकते हैं, इल्मर्ज एक विचार होगा। –

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