2013-05-18 5 views
6

मैं दृश्य स्टूडियो 2010 का उपयोग कर रहा एक वेब डिजाइन करने के लिए, और मैं परतटाइप नाम में असेंबली स्पष्टीकरण कैसे निर्दिष्ट करें?

प्रोग्रामिंग का इस्तेमाल किया है, मैं एक gidview और ObjectDataSource उपयोग कर रहा हूँ, लेकिन मैं इस अपवाद प्राप्त करें:

"The type 'WebApplication4.view1' is ambiguous: it could come from assembly 
'C:\Users\EHSAN\AppData\Local\Temp\Temporary ASP.NET 
    Files\root\d04444bc\d654bde6\App_Code.i0fp6yrj.DLL' or from assembly 
    'C:\Users\EHSAN\Documents\Visual Studio 
    2010\Projects\WebApplication4\WebApplication4\bin\WebApplication4.DLL'. Please 
    specify the assembly explicitly in the type name." 

मैं डाल मेरी यहाँ कोड:

यह मेरा web.aspx है:

<asp:ObjectDataSource ID="ObjectDataSource1" Runat="server" TypeName="WebApplication4.view1" 
     SelectMethod="Search" OldValuesParameterFormatString="original_{0}" > 

     </asp:ObjectDataSource> 

और इस app_code में बाल फ़ोल्डर में search.cs फ़ाइल है:

namespace WebApplication4 
{ 
    using System; 
    using System.Collections.Generic; 
    using System.Text; 
    using System.Linq; 
    using System.Data; 
public class view1 : System.Web.UI.Page 
    { 
     public view1() 
     { } 

     public List<person> Search() 
     { 
      List<person> persons = new List<person>(); 
      DataSet ds = PersonsDB.Search(); 

      foreach (DataRow row in ds.Tables[0].Rows) 
      { 

       persons.Add(new person((String)row["id"], (String)row["nam"], (String)row["family"], (String)row["namepedar"], (String)row["shshenas"], (String)row["codemelli"])); 
      } 


      return persons; 
     } 
    } 

समस्या कहां है?

उत्तर

2

ऐसा तब होता है जब परियोजना में एक ही नाम वाले दो वर्ग होते हैं, आमतौर पर एक प्रतिलिपि और पेस्ट त्रुटि के कारण। क्या आप जांच सकते हैं कि आपके पास view1 नामक कोई अन्य श्रेणी है या नहीं?

यदि यह समस्या नहीं है, जैसा कि यहाँ दिखाया, अपने अस्थायी वेब फ़ाइलों स्पष्ट करने के लिए प्रयास करें: Clearing out temporary asp.net files

+0

आपके उत्तर के लिए धन्यवाद, लेकिन, मेरे पास मेरे सभी समाधानों में view1 नामक कोई अन्य श्रेणी नहीं है !! –

+0

क्या आपने अस्थायी वेब फ़ाइलों को साफ़ करने का प्रयास किया है? – Augusto

10

Search.cs App_Code फ़ोल्डर से बाहर दाखिल करें और देखें कि यह काम करता है ले जाने का प्रयास। मुझे एक ही समस्या थी और मैंने इसे बाहर ले जाया और यह काम करना शुरू कर दिया।

+0

मेरे लिए भी काम किया। मुझे आश्चर्य है क्योंकि। – RazvanR

+0

मेरी समस्या हल की गई –

3

मुझे एक ही त्रुटि थी। मैंने WebUserControl प्रोजेक्ट के नियंत्रण में नियंत्रण 1 बनाया है। इसके अलावा मेरे पास प्रोजेक्ट वेबसाइट 1 था जहां मैंने अपना नियंत्रण 1 उपयोग किया था (नियंत्रण 1 से वेबसाइट 1) की प्रतिलिपि बनाने के लिए प्रोजेक्ट बिल्ड इवेंट का उपयोग करना। यह ठीक काम करता था, लेकिन फिर मैंने अपनी वेबसाइट 1 प्रोजेक्ट की प्रतिलिपि बनाई और इसका नाम बदलकर वेबसाइट 2 प्रोजेक्ट किया गया। वेबसाइट 2 पर मुझे यह त्रुटि मिली। स्वच्छ, पुनर्निर्माण हल नहीं किया था। I ने वेबसाइट 2 \ bin फ़ोल्डर में सभी फ़ाइलों को हटा दिया और वेबसाइट 2 प्रोजेक्ट बनाएं। त्रुटि हल हो गई थी।

+0

यह उत्तर होना चाहिए। समस्या को समझना महत्वपूर्ण है। लेकिन यह एक छोटा और आसान समाधान है। – KannedFarU

0

जब आप समाधान का संदर्भ जोड़ते हैं, तो कृपया उस फ़ाइल गुणों को स्थानीय रूप से "गलत" पर कॉपी करें। इसलिए जब हम समाधान बनाते हैं तो इसे कॉपी नहीं किया जाएगा और हमें त्रुटि नहीं मिलेगी। इससे मेरा काम बनता है। कृपया इसे आजमाएं।

0

वेबसाइट/वेब एप्लिकेशन प्रॉपर्टी पर राइट क्लिक करें और इच्छित नाम के साथ असेंबली नाम फ़ील्ड सेट करें।

उदाहरण: यदि एप्लिकेशन को XYZ नाम दिया गया है और नामस्थान नामकरण companyname.dept.XYZ के रूप में उपयोग करता है तो एप्लिकेशन में 2 अलग-अलग डीएल हो सकते हैं। XYZ.dll और companyname.dept.XYZ.dll जो विवाद पैदा कर सकते हैं।

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